Re: More MIDI sysex problems
Re: More MIDI sysex problems
- Subject: Re: More MIDI sysex problems
- From: Kurt Revis <email@hidden>
- Date: Sat, 5 Jan 2002 00:54:39 -0800
On Friday, January 4, 2002, at 09:20 AM, Bruno Di Gleria wrote:
Here's a turnaround I used in my QMidi player to make it work (...)
until
MIDIMAN (or Apple) fixes the MIDISendSysex bug:
Thank you! That does seem to work. I can't imagine how you managed to
discover this workaround.
To summarize: the secret is to send at most 3 bytes of data through
MIDISendSysex() at once. So at the beginning of your sysex message,
send 0xF0 and then two more bytes. Then, in your sysex completion proc
or very soon afterwards, send the following N bytes of data (where 1 <=
N <= 3) using MIDISendSysex(). Repeat until done.
(It seems that the first sysex buffer must be exactly three bytes long,
so sending a sequence 0xF0 0xF7 is impossible, I guess. Fortunately this
should not be necessary in any real world application.)
Also, now that I try it, the same rules apply to sending sysex through
MIDISend(), using individual packets, as well. (It doesn't seem to make
any difference whether the packets are in the same packet list, or
separate packet lists.)
Anyway, it's obviously stupid to make everyone use this workaround. I am
looking forward to the time when this bug is fixed, whoever's fault it
is. Anyone try this with the new MOTU driver yet?
--
Kurt Revis
email@hidden