API Changes in MusicKit V5.X frameworks

The changes from Version 4 to Version 5 of the MusicKit mostly consists of conversion to the OpenStep specification from the older NeXTStep API.

Frameworks replace libraries

Libraries have now been replaced as the following frameworks:

Include Files

The root hierarchical include file is now #imported as <MusicKit/MusicKit.h> replacing <musickit/musickit.h>.

Unit generator headers are included from MKUnitGenerators.framework, not musickit/unitgenerators.

Class naming conventions

All the public MusicKit classes are now prefixed with MK to match the Foundation/AppKit model, ie MKNote, MKOrchestra replaces Note and Orchestra. In a similar manner to the changes in other frameworks when OpenStep-ified, as well as method name changes, there are object allocation changes, generally +new is now an appropriate name returning an autoreleased instance, i.e +score for MKScore, +note for MKNote etc. NSStrings replace char * where ever possible.

Class Specific Changes


  • +new has been renamed +midi in keeping with OpenStep conventions.

  • allocFromZone:onDevice: and allocFromZone:onDevice:hostName have been replaced with corresponding -initOnDevice: and -initOnDevice:hostName: instance methods and +midiOnDevice:, +midiOnDevice:hostName: class methods to support OpenStep allocation conventions.

  • The methods -noteSenders and -noteReceivers don't return a copy of the array. The parent object is expected to copy it.