• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Serial MIDI driver
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

References: 
 >Re: Serial MIDI driver (From: "Vigour Vigour" <email@hidden>)

  • Prev by Date: Re: Calling Carbon Plugins From MachO App
  • Next by Date: Re: Serial MIDI driver
  • Previous by thread: Re: Serial MIDI driver
  • Next by thread: Re: Serial MIDI driver
  • Index(es):
    • Date
    • Thread