Re: Starting with AppleUSBAudio and CoreMIDI
Re: Starting with AppleUSBAudio and CoreMIDI
- Subject: Re: Starting with AppleUSBAudio and CoreMIDI
- From: Doug Wyatt <email@hidden>
- Date: Fri, 4 Mar 2005 15:21:46 -0800
On Mar 4, 2005, at 1:30 PM, Brian Kennedy wrote:
In the projects we we are looking at
developing we would like to stream audio to the Host
from our device as well as pass MIDI Sysex/CC data
back and forth between the Host and our device. Am I
correct in my thinking that as long as we follow the
USB audio class spec and the USB MIDI class spec in
our firmware the default OS X drivers should
communicate with our device? Are there any pitfalls I
should watch out for? I am also having trouble
finding info on how CoreMIDI works. Sorry if this all
seems a bit trivial but like I said I am really just
starting on this and all of the documentation I have
read so far doesn't really address this and is a
little overwhelming. Thanks,
Yes, if you make a USB MIDI class-compliant device, the Apple-supplied
driver should work fine with it.
Yes, most of the Core Audio documentation is directed towards
application developers and not driver developers. That said, we're here
to help. Please feel free to ask for help as you need it (either on- or
off-list).
The big picture on "how CoreMIDI works" (going bottom-up since you're a
driver guy):
- "drivers" are actually CFPlugIns. They tend to communicate with IOKit
for access to hardware.
- MIDIServer loads driver plugins and manages I/O routing and the
various informational properties of devices (which contain entities,
which contain endpoints)
- applications link against the CoreMIDI framework, which provides a
communication path to MIDIServer
My main cautionary note would be to be sure to test with Macs as you
go. There have been cases where developers have coded against Windows
class drivers, shipped, then found that Mac OS exposed bugs they hadn't
seen before.
Doug
Audio/MIDI Plumber
_______________________________________________
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