Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is raw MIDI API really raw ? (Running status) #80

Closed
MusicMaker opened this issue Aug 23, 2020 · 4 comments
Closed

Is raw MIDI API really raw ? (Running status) #80

MusicMaker opened this issue Aug 23, 2020 · 4 comments
Labels
question Further information is requested

Comments

@MusicMaker
Copy link

A device is sending always 3 bytes for note off/on event. The host application uses a virtual port to receive the data The ALSA RAW MIDI API seems to remove the status byte if the channel of the status byte is the same. Once the channel changes, the RAW MIDI API provide the status byte to the higher level layer. Is this the bahaviour of the RAW MIDI API ? if yes then raw isn't actually raw. Can this be disabled ? Could not find a parameter at port open to do this. (not using the sequencer)

@takaswie
Copy link
Member

Hi,

The behaviour of ALSA Rawmidi interface is slightly different depending on implementations of driver side which communicates to your application via the interface. It's better to report your device to identify the driver.

@takaswie takaswie added the question Further information is requested label Aug 23, 2020
@MusicMaker
Copy link
Author

Thanks, I just found that there is a difference when using a connection made between the app and the device in qjackctl (MIDI set to none, Jack is not running !) and then running the application or without a connection in qjackctl . Without the connection in jack the the status byte always comes through, but with the jack connection not. I don't use any particular, driver, just standard. Will need to dig in a bit deeper to nail down what is actual happening. Not sure if qjackctl is doing something in between, perhaps qjackctl uses the sequencer API to make the connection.

@keinstein
Copy link

Is your JACK server using the RAW MIDI interface or does it connect to the ALSA sequencer API? In the latter case you have the scheme RAW Software ⇒ ALSA Sequencer ⇒ JACK ⇒ ALSA Sequencer ⇒ RAW Device . So the inner part is not RAW and Running status is normalised according whatever is configured in the conversion from ALSA to RAW.

@perexg
Copy link
Member

perexg commented Nov 5, 2021

Answered.

@perexg perexg closed this as completed Nov 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants