All of lore.kernel.org
 help / color / mirror / Atom feed
* Must MIDI SysEx data contain the start byte 0xf0 and the end byte 0xf7?
@ 2013-01-18 16:17 Joerg-Cyril.Hoehle
  2013-01-18 17:29 ` Clemens Ladisch
  0 siblings, 1 reply; 4+ messages in thread
From: Joerg-Cyril.Hoehle @ 2013-01-18 16:17 UTC (permalink / raw)
  To: alsa-devel

Hi,

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?
The documentation on snd_seq_ev_set_sysex insists:
"the sysex data must contain the start byte 0xf0 and the end byte 0xf7."
http://www.alsa-project.org/alsa-doc/alsa-lib/group___seq_middle.html#ga104862c436dcc8f23892be44f50bc90f

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.

Regards,
	Jörg Höhle
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-20 16:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-18 16:17 Must MIDI SysEx data contain the start byte 0xf0 and the end byte 0xf7? Joerg-Cyril.Hoehle
2013-01-18 17:29 ` Clemens Ladisch
2013-01-18 18:41   ` Joerg-Cyril.Hoehle
2013-01-20 16:40     ` Clemens Ladisch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.