[alsa-devel] Must MIDI SysEx data contain the start byte 0xf0 and the end byte 0xf7?

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Fri Jan 18 17:17:33 CET 2013


I've read about SysEx continuations aka. divided SysEx

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?
The documentation on snd_seq_ev_set_sysex insists:
"the sysex data must contain the start byte 0xf0 and the end byte 0xf7."

Would it be the sole business of the low-level ALSA driver to slowly
send large (and complete) sysex data, out of application control
(e.g. the delta times would get lost)?

Should apps always coalesce partial sysex data and hand out the complete
blob to ALSA's snd_seq_ev_set_sysex?

Is divided SysEx too rare to worry about?

I'm asking because we've seen a user of Wine & KORG stumble upon a
non-F7-terminated SysEx.

	Jörg Höhle

More information about the Alsa-devel mailing list