Hint and tips about audio/midi USB drivers
Hint and tips about audio/midi USB drivers
- Subject: Hint and tips about audio/midi USB drivers
- From: Philippe Wicker <email@hidden>
- Date: Sun, 28 Nov 2004 11:32:25 +0100
Hi all,
I will very soon have to work (professionally ) on a project that
includes the writing of an audio/midi USB driver for Mac OS X. I'm
looking for hint, tips, caveats etc that could prevent me to run into
the wall :))
Some questions:
- Where do I need to start from? There's a sample code in the CoreAudio
SDK called SampleUSBMidiDriver, it looks like a perfect candidate for
the midi part. There are numerous samples in kernel/IOKit/audio and
kernel/IOKit/usb. The PhantomAudioDriver looks like a very good
candidate for the audio part. Any other sample codes I should have a
look at?
- Do I need to write a single audio and midi driver or is it better to
write two different drivers (if it makes sense as they both apply to
the same device)?
- There's a point that comes back frequently on this list: it is kernel
land driver versus user land driver. What is the recommended approach
for midi, for audio, for a single audio and midi driver?
- There has recently been a discussion about latency added by the
drivers (related to the safety offset). Periodic data such as audio are
transported using the isochronous mode, while Aperiodic data - such as
midi - are transported using the bulk mode. That's nearly all I know -
for the moment - about USB protocol :)) Anything to take care of as far
as latency is concerned? For instance, what happens when multiple
devices send data "at the same time" using the isochronous 125us/1ms
modes and the bulk mode?
- I've downloaded the 9MByte+ USB 2 specs. I know that I will have to
eat the whole cake someday, but in the meantime, does anyone know
pointers to site where I could find something like 'USB for the dummy"?
Any answers will be very appreciated, thanks.
Philippe Wicker
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