API Notes: CoreMIDI framework#

The full API is described in Apple’s documentation, both the C and Objective-C APIs are available (but see the API Notes below).

These bindings are accessed through the CoreMIDI package (that is, import CoreMIDI).

Note

This is fairly low-level API mostly not based on CoreFoundation or Objective-C types. Because of this users will have to perform manual reference counting.

I’m also not sure if these bindings are correct.

API Notes#

The driver implementation interface is not available from Python.

The following functions are not available from Python:

  • MIDIEndpointSetRefCons

  • MIDIEndpointGetRefCons

  • MIDIDestinationCreateWithBlock

  • MIDI1UPSysExArray

Type MIDIUniversalMessage is not available from Python at this time because it contains a C union. Because of that MIDIUniversalMessage is not available either.

Manual bindings needed#

The APIs below require manual bindings and are not yet available:

  • MIDIDeviceCreate

  • MIDIDriverEnableMonitoring

  • MIDIEventListAdd

  • MIDIEventListInit

  • MIDIPacketListAdd

  • MIDIPacketListInit

  • MIDIReceived

  • MIDIReceivedEventList

  • MIDISend

  • MIDISendEventList

  • MIDISendSysex