Commodore Amiga MIDI Driver (CAMD) is a shared library for AmigaOS which provides a general device driver for MIDI data, so that applications can share MIDI data with each other in real-time, and interface to MIDI hardware in a device-independent way.
Commodore announced work on Commodore Amiga MIDI driver (CAMD) during the January 1990 NAMM Show. Driver should allow multiple MIDI applications to work together in the Amiga multitasking environment, with timing as a crucial issue (working with realtime data streams). ARexx support was also planned.[1] The software was originally created at the Carnegie Mellon University and later adopted by Commodore.[2] According to software developer Daniel S. Riley, several people worked on the driver (starting with Roger B. Dannenberg and Jean-Christophe Dhellemmes at the Carnegie-Mellon university). Commodore finally gave this task to David Joiner (author of Deluxe Music) and synchronisation services were separated in realtime.library.[3] Deluxe Music 2.0 introduced support for both camd.library and realtime.library[4] and was for many years the only commercial music package using CAMD. Amiga Format article about MIDI noticed in 1999 still many bugs, some compatibility issues and lack of application support.[2]
Commodore's version of CAMD also included a built-in driver for the Amiga serial port. The Poseidon USB stack contains the camdusbmidi.class.
In part due to above mentioned problems, the CAMD library was rewritten (reverse engineered by Kjetil S. Matheussen) as part of the AROS project in 2001[5] and later in 2005 ported to AmigaOS 4.[6] In 2012, Lyle Hazelwood released updated AmigaOS 4 version,[7] which was then distributed as part of AmigaOS starting with the 4.1 Update 5.[8] Since MorphOS 3.10 CAMD is officially part of this system.[9]