SampleUSBMIDIDriver

Last Revision:
Version 1.0, 2009-03-18
Project for building a sample USB MIDI device driver
Build Requirements:
Mac OS X v10.6 or later
Runtime Requirements:
Mac OS X v10.6 or later

SampleUSBDriver is an example of a Mac OS X MIDI driver. MIDI drivers are CFPlugIns (described in the CoreFoundation documentation). The sample driver is structured as a collection of reusable C++ classes, with the code specific to a single vendor's devices isolated to a small portion of the source code. If you find yourself needing to modify the classes other than SampleUSBDriver, please consider trying to implement the changes in a subclass instead, or telling Apple about the changes you need to make (use http://www.apple.com/developer/bugreporter). This allows the possibility of Apple providing improvements and fixes in the base classes in the future without your having to modify your driver other than to recompile it. Use SampleUSBDriver as a starting place for a USB MIDI interface driver. Derive your USB driver from USBMIDIDriverBase. Derive non-USB drivers from MIDIDriver. The MIDI driver programming interface is documented in <CoreMIDI/MIDIDriver.h>, which your source should include. Your driver may also use the application programming interface in <CoreMIDI/CoreMIDI.h>.