sorry, I meant then collect bytes until you get F7 (not F0). F0 = status: sysex start … F7 = sysex end
> On 09Aug 2019, at 00:27, Aaron Andrew Hunt <[email protected]> > wrote: > > On 09Aug 2019, at 00:06, [email protected] wrote: >> >> Further, regarding SysEx, let's say the incoming string is this: >> >> F0 78 54 88 65 29 04 71 00 00 02 F7 >> >> Do you get events in this order? >> >> F0 78 54 >> F0 88 65 >> F0 29 04 >> F0 71 00 >> F0 00 02 >> F0 F7 00 >> >> That is, each event starts with F0, you grab the Data1 and Data2 and append >> your string, and stop as soon as you get to a F7. >> >> Do I have all that correctly? > > No. You'll get the message exactly as it’s written: F0 78 54 88 65 29 04 71 > 00 00 02 F7. > > Sysex always starts with the F0 status byte, and ends with an F7 byte. It’s > not a 3-byte message. It can be any length. (This is why all cheap MIDI > interfaces choke on sysex, because their buffers aren’t built to handle > anything other than the shorter MIDI messages.) All you have to do is listen > for the F0 status byte, then collect bytes until you get F0, then go back to > listening for any message. > > Aaron > > _______________________________________________ [email protected] mailing list %(list_address)s https://ml-cgn08.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info
