Re: CoreMIDI SysEx & MIDIMonitor
Re: CoreMIDI SysEx & MIDIMonitor
- Subject: Re: CoreMIDI SysEx & MIDIMonitor
- From: Kurt Revis <email@hidden>
- Date: Thu, 31 Aug 2006 15:32:58 -0700
On Aug 31, 2006, at 11:33 AM, David A. Hoatson wrote:
Well - I guess I spoke too soon.
The sleep(1) fixed the startup issue where the MIDI input thread
wasn't completely started before it received bytes.
That sounds like a really weird way to summarize the problem. More
likely, the sleep is just working around a race condition in a MIDI
driver.
Anyway, you never did say -- do you see the same problem when only
one of your two MIDI devices are plugged in and have drivers
installed? It would be helpful to know which one (Roland's driver or
the built-in Apple one) are at fault here. I'm sure Apple would
appreciate a bug report if it's theirs.
(Keep in mind that a bug in one driver could be affecting what you
see from the other, so test with only one at a time.)
However I still have the issue where the SysEx message is getting
corrupted by the OS.
I now know that if I sent a SysEx message that is too large, the OS
will not transmit it properly. I have broken my SysEx message up
into 3 byte chunks, and that solved that issue - however it created
a new one. If all three bytes of the SysEx message are Zero, then
the OS doesn't transmit them at all. Since I am sending 7-bit
binary data down to the device, this is simply unacceptable. Each
SysEx message must be a specific length or the device will reject it.
How do you know it's the OS? From my experience, I think a bad
driver is much more likely. Again, does this happen with both
devices or just one of them?
I'll give this a try tonight with the devices I have and see what
happens...
BTW, it is sadly typical for 3rd party drivers to have problems with
sysex. I don't think it tends to get as much testing as it ought
to. It would be REALLY useful if there was a MIDI driver validation
tool, much like auval... I know you can't do an exhaustive test just
via loopback on a single interface, but it would still catch a lot of
cases.
--
Kurt Revis
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden