[alsa-devel] RawMIDI behaviour with MidiFace 4x4

Kalvas, Taneli taneli.v.m.kalvas at jyu.fi
Mon Mar 9 12:37:26 CET 2015


>>> I am developing a patch librarian for a synthesizer. Because the
>>> communication happens with Midi sysex and timing is not relevant I chose
>>> RawMIDI interface and not the alsa sequencer. The problem I have
>>> encountered is that writing to the midi port with snd_rawmidi_write()
>>> seems to broken. The function accepts any size of data block and claims
>>> to have sent everything. In reality only a part of the message is sent.
>>> For a large block size I can see the activity light blinking for
>>> fraction of a second. This happens both in blocking and non-blocking
>>> mode. I would expect the snd_rawmidi_write() to accept only a part of
>>> the message.
>>
>> Can't help with rawmidi, but I can at least report that my experience
>> using the sequencer interface has been that it is rather straightforward
>> to use, even if just using it to send and transmit sysex data, even when
>> the data is longer than 300 bytes.
>
>If the data is larger than the RawMIDI buffer size (4096 bytes), the
>sequencer does not wait (like snd_rawmidi_write() would do), but just
>drops data.

This is just my question. You say snd_rawmidi_write() SHOULD cause a wait, but in my case it does not. Do you have any idea why this happens and how I could further diagnose the problem, possibly finding a fix?

Taneli


More information about the Alsa-devel mailing list