MIDI System Exclusive handling is inconsistent (and BeOS incompatible)
|Reported by:||Pete||Owned by:||phoudoin|
Under BeOS, when one outputs System Exclusive MIDI data with SpraySystemExclusive(), or receives it via the SystemExclusive method, one deals with only the actual data portion of the sequence -- the '0xF0' start byte and '0xF7' trailer are omitted (supplied and removed as necessary by the midi_server).
With Haiku, SpraySystemExclusive seems to behave the same, sending a properly formatted SysEx sequence to the output device, but SystemExclusive passes the whole received sequence, including the start and end bytes.
Not only is this bad for BeOS apps, but it's inconsistent with the handling of other MIDI events, where the status byte is stripped and processed before the appropriate method is invoked. It's also internally inconsistent, because if a SysEx sequence is recorded and resent, it ends up with two start and two end bytes!