I'm getting into MIDI SysEx; I'm very familiar on how it works, but not 
familiar how PortMIDIMBS works.

Regarding PortMidiStreamMBS, there is a WriteSysEx method that's easy to use. 
That sends a SysEx message from the program to MIDI OUT. But what about 
receiving SysEx?

I studied the actual PortMIDI documentation, since I know MBS is mostly a 
wrapper for it. It seems that instead of a similar method/callback like 
ReadSysEx(), you actually get a stream of events that carry in a 
PortMIDIEventMBS structure, and you get a whole bunch of them. Then I assume 
it's up to me to parse that out into a single MemoryBlock that represents the 
entire SysEx message.

So the contents of those incoming PortMIDIEventMBS are confusing to me. The 
only things I know of regarding a MIDI event is Status, Data1 and Data2. What 
are those other properties in PortMIDIEventMBS: RawData0 RawData1 RawData1 
RawData1 RawMessage? Are they just different ways of expressing Dat1 and Data2?

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?

Garth Hjelte
Sampler User


_______________________________________________
[email protected] mailing list
%(list_address)s
https://ml-cgn08.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to