Re: Serial MIDI driver
Re: Serial MIDI driver
- Subject: Re: Serial MIDI driver
- From: "Vigour Vigour" <email@hidden>
- Date: Fri, 09 Aug 2002 05:52:28 +0000
From: Doug Wyatt <email@hidden>
To: Vigour Vigour <email@hidden>
CC: email@hidden
Subject: Re: Serial MIDI driver
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.
Hi Doug!
Thanks for your nice explanation. I am slowly beginning to understand now
:-) We need a driver, we really do. I hope that you can release the serial
MIDI driver source as sample code, it would be great! You said that the
studio 4 has a more efficient protocol and I have heard it before. But never
got any info about it. Is it possible for you to tell how this protocol
works?
Best regards Peter
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
_______________________________________________
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.