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

Reply via email to