Re: Serial MIDI driver
Re: Serial MIDI driver
- Subject: Re: Serial MIDI driver
- From: Doug Wyatt <email@hidden>
- Date: Thu, 8 Aug 2002 17:12:28 -0400
On Thursday, Aug 8, 2002, at 01:57 America/New_York, Vigour Vigour
wrote:
Tanks Doug for your answer.
You said that It definitely does not support the multi-cable protocol
used by the MIDI Time Piece and other devices (like the Studio 4)
designed to use that protocol.
But you can switch ports in the Studio 4 by just sending F5, port#
(1-8, 0=all) so I can't really understand why this is a problem. I
once made an app in 68000 assembly language that communicated with my
2 Studio 4 interfaces that way with a very simple homemade driver and
everything worked perfect. What's the difference between sending
regular MIDI bytes or sending F5, port# ? I can't see any difference
at all.
You're right, there's no difference at the driver level -- it's free to
transform a legal MIDI stream to and from whatever encoding it likes
(e.g. F5 xx, USB-MIDI, etc.).
But CoreMIDI (just like MIDI Manager, OMS, and probably FreeMIDI) has
rules about what can appear in the MIDIPackets in its client and driver
APIs: legal MIDI messages only (which do not include F5), no running
status, messages must be complete (except for sysex), etc. This is to
centralize the burden of dealing with these more subtle quirks of MIDI
into drivers and so that the entire call chain between the driver and
an app does not have to parse running status, for example (which is
impossible to distinguish from a sysex continuation without a more
complex data format or maintaining state information in each layer of
the stack).
If a driver sends F5's to, or expects them from, an application, it is
breaking and rewriting the rules of what may appear in the MIDI stream
and how it is to be interpreted.
No promises, but I will see if we can get the source to our serial MIDI
driver released as sample code, factored so that a driver that wants to
use F5 can be written based on it (or other scheme -- in addition to
F5, the Studio 4 also has its own protocol which is arguably more
efficient).
Doug
--
Doug Wyatt
work: email@hidden (CoreAudio)
personal: email@hidden
http://www.sonosphere.com
"Music happens when you disrupt space in a secure and confident manner."
-- One of the members of the Art Ensemble of Chicago
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.