Joerg-Cyril.Hoehle@t-systems.com wrote:
I've read about SysEx continuations aka. divided SysEx http://www.allegro.cc/forums/thread/607445 http://www.sonicspot.com/guide/midifiles.html
What it means is that within a MIDI file, a long sysex could be split across several events with different delta times, giving the receiver some processing time in between (e.g. flash EEPROM etc.). The delta times tell when to send the parts.
Now, is that truth? How to do that with ALSA?
Just put the partial chunks into separate events. The first must begin with the F0 byte, the last end with F7. (This is not actually checked; you can put arbitrary bytes into SysEx event data.)
The documentation on snd_seq_ev_set_sysex insists: "the sysex data must contain the start byte 0xf0 and the end byte 0xf7."
This is wrong. For that matter, when the sequencer receives from the hardware a SysEx that is too large for its internal buffer, it will split it into pieces.
Regards, Clemens