Class CoreMIDI


  • public final class CoreMIDI
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static CFStringRef kMIDIPropertyAdvanceScheduleTimeMuSec()
      [@constant] kMIDIPropertyAdvanceScheduleTimeMuSec device/entity/endpoint property, integer Set by the owning driver; should not be touched by other clients.
      static CFStringRef kMIDIPropertyCanRoute()
      [@constant] kMIDIPropertyCanRoute device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyConnectionUniqueID()
      [@constant] kMIDIPropertyConnectionUniqueID device/entity/endpoint property, integer or CFDataRef UniqueID of an external device/entity/endpoint attached to this one.
      static CFStringRef kMIDIPropertyDeviceID()
      [@constant] kMIDIPropertyDeviceID device/entity property, integer The entity's system-exclusive ID, in user-visible form Drivers may set this property on their devices or entities.
      static CFStringRef kMIDIPropertyDisplayName()
      [@constant] kMIDIPropertyDisplayName device/entity/endpoint property, string.
      static CFStringRef kMIDIPropertyDriverDeviceEditorApp()
      [@constant] kMIDIPropertyDriverDeviceEditorApp device property, string, contains the full path to an application which knows how to configure this driver-owned devices.
      static CFStringRef kMIDIPropertyDriverOwner()
      [@constant] kMIDIPropertyDriverOwner device/entity/endpoint property, string Name of the driver that owns a device.
      static CFStringRef kMIDIPropertyDriverVersion()
      [@constant] kMIDIPropertyDriverVersion device/entity/endpoint property, integer, returns the driver version API of the owning driver (only for driver- owned devices).
      static CFStringRef kMIDIPropertyImage()
      [@constant] kMIDIPropertyImage device property, CFStringRef which is a full POSIX path to a device or external device's icon, stored in any standard graphic file format such as JPEG, GIF, PNG and TIFF are all acceptable.
      static CFStringRef kMIDIPropertyIsBroadcast()
      [@constant] kMIDIPropertyIsBroadcast entity/endpoint property, integer 1 if the endpoint broadcasts messages to all of the other endpoints in the device, 0 if not.
      static CFStringRef kMIDIPropertyIsDrumMachine()
      [@constant] kMIDIPropertyIsDrumMachine device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyIsEffectUnit()
      [@constant] kMIDIPropertyIsEffectUnit device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyIsEmbeddedEntity()
      [@constant] kMIDIPropertyIsEmbeddedEntity entity/endpoint property, integer 0 if there are external MIDI connectors, 1 if not.
      static CFStringRef kMIDIPropertyIsMixer()
      [@constant] kMIDIPropertyIsMixer device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyIsSampler()
      [@constant] kMIDIPropertyIsSampler device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyManufacturer()
      [@constant] kMIDIPropertyManufacturer device/endpoint property, string Drivers should set this property on their devices.
      static CFStringRef kMIDIPropertyMaxReceiveChannels()
      [@constant] kMIDIPropertyMaxReceiveChannels device/entity property, integer (0-16).
      static CFStringRef kMIDIPropertyMaxSysExSpeed()
      [@constant] kMIDIPropertyMaxSysExSpeed device/entity/endpoint property, integer Set by the owning driver; should not be touched by other clients.
      static CFStringRef kMIDIPropertyMaxTransmitChannels()
      [@constant] kMIDIPropertyMaxTransmitChannels device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyModel()
      [@constant] kMIDIPropertyModel device/endpoint property, string Drivers should set this property on their devices.
      static CFStringRef kMIDIPropertyName()
      [@constant] kMIDIPropertyName device/entity/endpoint property, string Devices, entities, and endpoints may all have names.
      static CFStringRef kMIDIPropertyNameConfiguration()
      [@constant] kMIDIPropertyNameConfiguration device/entity/endpoint property, CFDictionary This specifies the device's current patch, note and control name values using the MIDINameDocument XML format.
      static CFStringRef kMIDIPropertyNameConfigurationDictionary()
      [@constant] kMIDIPropertyNameConfigurationDictionary device/entity/endpoint property, CFDictionary This specifies the device's current patch, note and control name values using the MIDINameDocument XML format.
      static CFStringRef kMIDIPropertyOffline()
      [@constant] kMIDIPropertyOffline device/entity/endpoint property, integer 1 = device is offline (is temporarily absent), 0 = present.
      static CFStringRef kMIDIPropertyPanDisruptsStereo()
      [@constant] kMIDIPropertyPanDisruptsStereo device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyPrivate()
      [@constant] kMIDIPropertyPrivate device/entity/endpoint property, integer 1 = endpoint is private, hidden from other clients.
      static CFStringRef kMIDIPropertyProtocolID()
      constant kMIDIPropertyProtocolID device/entity/endpoint property, MIDIProtocolID.
      static CFStringRef kMIDIPropertyReceiveChannels()
      [@constant] kMIDIPropertyReceiveChannels endpoint property, integer The value is a bitmap of channels on which the object receives: 1=ch 1, 2=ch 2, 4=ch 3 ... 0x8000=ch 16.
      static CFStringRef kMIDIPropertyReceivesBankSelectLSB()
      [@constant] kMIDIPropertyReceivesBankSelectLSB device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyReceivesBankSelectMSB()
      [@constant] kMIDIPropertyReceivesBankSelectMSB device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyReceivesClock()
      [@constant] kMIDIPropertyReceivesClock device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyReceivesMTC()
      [@constant] kMIDIPropertyReceivesMTC device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyReceivesNotes()
      [@constant] kMIDIPropertyReceivesNotes device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyReceivesProgramChanges()
      [@constant] kMIDIPropertyReceivesProgramChanges device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertySingleRealtimeEntity()
      [@constant] kMIDIPropertySingleRealtimeEntity device property, integer Some MIDI interfaces cannot route MIDI realtime messages to individual outputs; they are broadcast.
      static CFStringRef kMIDIPropertySupportsGeneralMIDI()
      [@constant] kMIDIPropertySupportsGeneralMIDI device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertySupportsMMC()
      [@constant] kMIDIPropertySupportsMMC device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertySupportsShowControl()
      [@constant] kMIDIPropertySupportsShowControl device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitChannels()
      [@constant] kMIDIPropertyTransmitChannels endpoint property, integer The value is a bitmap of channels on which the object transmits: 1=ch 1, 2=ch 2, 4=ch 3 ... 0x8000=ch 16.
      static CFStringRef kMIDIPropertyTransmitsBankSelectLSB()
      [@constant] kMIDIPropertyTransmitsBankSelectLSB device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitsBankSelectMSB()
      [@constant] kMIDIPropertyTransmitsBankSelectMSB device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitsClock()
      [@constant] kMIDIPropertyTransmitsClock device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitsMTC()
      [@constant] kMIDIPropertyTransmitsMTC device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitsNotes()
      [@constant] kMIDIPropertyTransmitsNotes device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyTransmitsProgramChanges()
      [@constant] kMIDIPropertyTransmitsProgramChanges device/entity property, integer (0/1).
      static CFStringRef kMIDIPropertyUniqueID()
      [@constant] kMIDIPropertyUniqueID devices, entities, endpoints all have unique ID's, integer The system assigns unique ID's to all objects.
      static int MIDI1UPChannelVoiceMessage​(byte group, byte status, byte channel, byte data1, byte data2)
      MIDI 1.0 Universal MIDI Packet (MIDI-1UP) Channel Voice Message generalized structure Word0: [aaaa][bbbb][cccc][dddd][0eeeeeee][0fffffff] a: Universal MIDI Packet Message Type (0x2 for all voice messages) b: Channel group number c: MIDI status d: MIDI channel e: MIDI note number f: Velocity The following set of functions will correctly construct voice channel messages as MIDI-1UP.
      static int MIDI1UPControlChange​(byte group, byte channel, byte index, byte data)  
      static int MIDI1UPNoteOff​(byte group, byte channel, byte noteNumber, byte velocity)  
      static int MIDI1UPNoteOn​(byte group, byte channel, byte noteNumber, byte velocity)  
      static int MIDI1UPPitchBend​(byte group, byte channel, byte lsb, byte msb)  
      static int MIDI1UPSystemCommon​(byte group, byte status, byte byte1, byte byte2)  
      static MIDIMessage_64 MIDI2AssignableControl​(byte group, byte channel, byte bank, byte index, int value)  
      static MIDIMessage_64 MIDI2AssignablePNC​(byte group, byte channel, byte noteNumber, byte index, int value)  
      static MIDIMessage_64 MIDI2ChannelPressure​(byte group, byte channel, int value)  
      static MIDIMessage_64 MIDI2ChannelVoiceMessage​(byte group, byte status, byte channel, char index, int value)
      MIDI 2.0 Channel Voice Message generalized structure Word0: [aaaa][bbbb][cccc][dddd][eeeeeeeeeeeeeeee] Word1: [nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn] a: Message Type (type 1 for all voice messages) b: Channel group number c: MIDI status d: MIDI channel e: "Index" -- the contents of this field vary based on message type n: Data payload The following set of functions will correctly construct voice channel messages as two 32-bit words.
      static MIDIMessage_64 MIDI2ControlChange​(byte group, byte channel, byte index, int value)  
      static MIDIMessage_64 MIDI2NoteOff​(byte group, byte channel, byte noteNumber, byte attributeType, char attributeData, char velocity)  
      static MIDIMessage_64 MIDI2NoteOn​(byte group, byte channel, byte noteNumber, byte attributeType, char attributeData, char velocity)  
      static MIDIMessage_64 MIDI2PerNoteManagment​(byte group, byte channel, byte noteNumber, boolean detachPNCs, boolean resetPNCsToDefault)  
      static MIDIMessage_64 MIDI2PerNotePitchBend​(byte group, byte channel, byte noteNumber, int value)  
      static MIDIMessage_64 MIDI2PitchBend​(byte group, byte channel, int value)  
      static MIDIMessage_64 MIDI2PolyPressure​(byte group, byte channel, byte noteNumber, int value)  
      static MIDIMessage_64 MIDI2ProgramChange​(byte group, byte channel, boolean bankIsValid, byte program, byte bank_msb, byte bank_lsb)  
      static MIDIMessage_64 MIDI2RegisteredControl​(byte group, byte channel, byte bank, byte index, int value)  
      static MIDIMessage_64 MIDI2RegisteredPNC​(byte group, byte channel, byte noteNumber, byte index, int value)  
      static MIDIMessage_64 MIDI2RelAssignableControl​(byte group, byte channel, byte bank, byte index, int value)  
      static MIDIMessage_64 MIDI2RelRegisteredControl​(byte group, byte channel, byte bank, byte index, int value)  
      static int MIDIClientCreate​(CFStringRef name, CoreMIDI.Function_MIDIClientCreate notifyProc, org.moe.natj.general.ptr.VoidPtr notifyRefCon, org.moe.natj.general.ptr.IntPtr outClient)
      [@function] MIDIClientCreate Creates a MIDIClient object.
      static int MIDIClientCreateWithBlock​(CFStringRef name, org.moe.natj.general.ptr.IntPtr outClient, CoreMIDI.Block_MIDIClientCreateWithBlock notifyBlock)
      [@function] MIDIClientCreateWithBlock Creates a MIDIClient object.
      static int MIDIClientDispose​(int client)
      [@function] MIDIClientDispose Disposes a MIDIClient object.
      static int MIDIDestinationCreate​(int client, CFStringRef name, CoreMIDI.Function_MIDIDestinationCreate readProc, org.moe.natj.general.ptr.VoidPtr refCon, org.moe.natj.general.ptr.IntPtr outDest)
      [@function] MIDIDestinationCreate Creates a virtual destination in a client.
      static int MIDIDestinationCreateWithBlock​(int client, CFStringRef name, org.moe.natj.general.ptr.IntPtr outDest, CoreMIDI.Block_MIDIDestinationCreateWithBlock readBlock)
      [@function] MIDIDestinationCreateWithBlock Creates a virtual destination in a client.
      static int MIDIDestinationCreateWithProtocol​(int client, CFStringRef name, int protocol, org.moe.natj.general.ptr.IntPtr outDest, CoreMIDI.Block_MIDIDestinationCreateWithProtocol readBlock)
      [@function] MIDIDestinationCreateWithProtocol Creates a virtual destination in a client.
      static int MIDIDeviceAddEntity​(int device, CFStringRef name, byte embedded, long numSourceEndpoints, long numDestinationEndpoints, org.moe.natj.general.ptr.IntPtr newEntity)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceAddEntity Drivers call this function to specify one of the entities that comprise a device.
      static int MIDIDeviceCreate​(org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.Ptr<MIDIDriverInterface>> owner, CFStringRef name, CFStringRef manufacturer, CFStringRef model, org.moe.natj.general.ptr.IntPtr outDevice)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceCreate Drivers call this function to create new MIDIDevice objects corresponding to the hardware that is present.
      static int MIDIDeviceDispose​(int device)
      [@function] MIDIDeviceDispose Drivers may call this function to dispose MIDIDevice objects which have not yet been added to the system via MIDISetupAddDevice.
      static int MIDIDeviceGetEntity​(int device, long entityIndex0)
      [@function] MIDIDeviceGetEntity Returns one of a given device's entities.
      static long MIDIDeviceGetNumberOfEntities​(int device)
      [@function] MIDIDeviceGetNumberOfEntities Returns the number of entities in a given device.
      static int MIDIDeviceListAddDevice​(int devList, int dev)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceListAddDevice Add a device to a device list.
      static int MIDIDeviceListDispose​(int devList)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceListDispose Dispose a device list, but not the contained devices.
      static int MIDIDeviceListGetDevice​(int devList, long index0)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceListGetDevice Return one of the devices in a device list.
      static long MIDIDeviceListGetNumberOfDevices​(int devList)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceListGetNumberOfDevices Returns the number of devices in a device list.
      static int MIDIDeviceNewEntity​(int device, CFStringRef name, int protocol, byte embedded, long numSourceEndpoints, long numDestinationEndpoints, org.moe.natj.general.ptr.IntPtr newEntity)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceNewEntity Drivers call this function to specify one of the entities that comprise a device.
      static int MIDIDeviceRemoveEntity​(int device, int entity)
      ----------------------------------------------------------------------------- [@function] MIDIDeviceRemoveEntity Drivers may call this function to remove one of a device's entities.
      static int MIDIEndpointDispose​(int endpt)
      [@function] MIDIEndpointDispose Disposes a virtual source or destination your client created.
      static int MIDIEndpointGetEntity​(int inEndpoint, org.moe.natj.general.ptr.IntPtr outEntity)
      [@function] MIDIEndpointGetEntity Returns an endpoint's entity.
      static int MIDIEndpointGetRefCons​(int endpt, org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.VoidPtr> ref1, org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.VoidPtr> ref2)
      ----------------------------------------------------------------------------- [@function] MIDIEndpointGetRefCons Obtain the refCons assigned to the endpoints
      static int MIDIEndpointSetRefCons​(int endpt, org.moe.natj.general.ptr.VoidPtr ref1, org.moe.natj.general.ptr.VoidPtr ref2)
      ----------------------------------------------------------------------------- [@function] MIDIEndpointSetRefCons Drivers need an efficient way to translate from a MIDIEndpoint (source or destination) to their own internal data structures corresponding to that endpoint.
      static int MIDIEntityAddOrRemoveEndpoints​(int entity, long numSourceEndpoints, long numDestinationEndpoints)
      ----------------------------------------------------------------------------- [@function] MIDIEntityAddOrRemoveEndpoints Drivers and configuration editors may call this function to add to or remove an entity's endpoints.
      static int MIDIEntityGetDestination​(int entity, long destIndex0)
      [@function] MIDIEntityGetDestination Returns one of a given entity's destinations.
      static int MIDIEntityGetDevice​(int inEntity, org.moe.natj.general.ptr.IntPtr outDevice)
      [@function] MIDIEntityGetDevice Returns an entity's device.
      static long MIDIEntityGetNumberOfDestinations​(int entity)
      [@function] MIDIEntityGetNumberOfDestinations Returns the number of destinations in a given entity.
      static long MIDIEntityGetNumberOfSources​(int entity)
      [@function] MIDIEntityGetNumberOfSources Returns the number of sources in a given entity.
      static int MIDIEntityGetSource​(int entity, long sourceIndex0)
      [@function] MIDIEntityGetSource Returns one of a given entity's sources.
      static MIDIEventPacket MIDIEventListAdd​(MIDIEventList evtlist, long listSize, MIDIEventPacket curPacket, long time, long wordCount, org.moe.natj.general.ptr.ConstIntPtr words)
      [@function] MIDIEventListAdd Adds a MIDI event to a MIDIEventList.
      static MIDIEventPacket MIDIEventListInit​(MIDIEventList evtlist, int protocol)
      [@function] MIDIEventListInit Prepares a MIDIEventList to be built up dynamically.
      static MIDIEventPacket MIDIEventPacketNext​(MIDIEventPacket pkt)
      [@function] MIDIEventPacketNext Advances a MIDIEventPacket pointer to the MIDIEventPacket which immediately follows it in memory if it is part of a MIDIEventList.
      static int MIDIExternalDeviceCreate​(CFStringRef name, CFStringRef manufacturer, CFStringRef model, org.moe.natj.general.ptr.IntPtr outDevice)
      ----------------------------------------------------------------------------- [@function] MIDIExternalDeviceCreate Create a new external MIDI device.
      static int MIDIFlushOutput​(int dest)
      [@function] MIDIFlushOutput Unschedules previously-sent packets.
      static int MIDIGetDestination​(long destIndex0)
      [@function] MIDIGetDestination Returns one of the destinations in the system.
      static int MIDIGetDevice​(long deviceIndex0)
      [@function] MIDIGetDevice Returns one of the devices in the system.
      static int MIDIGetDriverDeviceList​(org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.Ptr<MIDIDriverInterface>> driver)
      ----------------------------------------------------------------------------- [@function] MIDIGetDriverDeviceList Returns the list of devices which are in the current MIDISetup and which were created/owned by the specified driver.
      static CFRunLoopRef MIDIGetDriverIORunLoop()
      ----------------------------------------------------------------------------- [@function] MIDIGetDriverIORunLoop Drivers typically need to receive asynchronous I/O completion callbacks on a high-priority thread.
      static int MIDIGetExternalDevice​(long deviceIndex0)
      [@function] MIDIGetExternalDevice Returns one of the external devices in the system.
      static long MIDIGetNumberOfDestinations()
      [@function] MIDIGetNumberOfDestinations Returns the number of destinations in the system.
      static long MIDIGetNumberOfDevices()
      [@function] MIDIGetNumberOfDevices Returns the number of devices in the system.
      static long MIDIGetNumberOfExternalDevices()
      [@function] MIDIGetNumberOfExternalDevices Returns the number of external MIDI devices in the system.
      static long MIDIGetNumberOfSources()
      [@function] MIDIGetNumberOfSources Returns the number of sources in the system.
      static int MIDIGetSource​(long sourceIndex0)
      [@function] MIDIGetSource Returns one of the sources in the system.
      static int MIDIInputPortCreate​(int client, CFStringRef portName, CoreMIDI.Function_MIDIInputPortCreate readProc, org.moe.natj.general.ptr.VoidPtr refCon, org.moe.natj.general.ptr.IntPtr outPort)
      [@function] MIDIInputPortCreate Creates an input port through which the client may receive incoming MIDI messages from any MIDI source.
      static int MIDIInputPortCreateWithBlock​(int client, CFStringRef portName, org.moe.natj.general.ptr.IntPtr outPort, CoreMIDI.Block_MIDIInputPortCreateWithBlock readBlock)
      [@function] MIDIInputPortCreateWithBlock Creates an input port through which the client may receive incoming MIDI messages from any MIDI source.
      static int MIDIInputPortCreateWithProtocol​(int client, CFStringRef portName, int protocol, org.moe.natj.general.ptr.IntPtr outPort, CoreMIDI.Block_MIDIInputPortCreateWithProtocol receiveBlock)
      [@function] MIDIInputPortCreateWithProtocol Creates an input port through which the client may receive incoming MIDI messages from any MIDI source.
      static int MIDIMessageTypeForUPWord​(int word)  
      static java.lang.String MIDINetworkBonjourServiceType()
      This is the Bonjour service type.
      static java.lang.String MIDINetworkNotificationContactsDidChange()
      These are NSNotifications posted by MIDINetworkSession objects.
      static java.lang.String MIDINetworkNotificationSessionDidChange()  
      static int MIDIObjectFindByUniqueID​(int inUniqueID, org.moe.natj.general.ptr.IntPtr outObject, org.moe.natj.general.ptr.IntPtr outObjectType)
      [@function] MIDIObjectFindByUniqueID Locates a device, external device, entity, or endpoint by its uniqueID.
      static int MIDIObjectGetDataProperty​(int obj, CFStringRef propertyID, org.moe.natj.general.ptr.Ptr<CFDataRef> outData)
      [@function] MIDIObjectGetDataProperty Gets an object's data-type property.
      static int MIDIObjectGetDictionaryProperty​(int obj, CFStringRef propertyID, org.moe.natj.general.ptr.Ptr<CFDictionaryRef> outDict)
      [@function] MIDIObjectGetDictionaryProperty Gets an object's dictionary-type property.
      static int MIDIObjectGetIntegerProperty​(int obj, CFStringRef propertyID, org.moe.natj.general.ptr.IntPtr outValue)
      [@function] MIDIObjectGetIntegerProperty Gets an object's integer-type property.
      static int MIDIObjectGetProperties​(int obj, org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.ConstVoidPtr> outProperties, byte deep)
      [@function] MIDIObjectGetProperties Gets all of an object's properties.
      static int MIDIObjectGetStringProperty​(int obj, CFStringRef propertyID, org.moe.natj.general.ptr.Ptr<CFStringRef> str)
      [@function] MIDIObjectGetStringProperty Gets an object's string-type property.
      static int MIDIObjectRemoveProperty​(int obj, CFStringRef propertyID)
      [@function] MIDIObjectRemoveProperty Removes an object's property.
      static int MIDIObjectSetDataProperty​(int obj, CFStringRef propertyID, CFDataRef data)
      [@function] MIDIObjectSetDataProperty Sets an object's data-type property.
      static int MIDIObjectSetDictionaryProperty​(int obj, CFStringRef propertyID, CFDictionaryRef dict)
      [@function] MIDIObjectSetDictionaryProperty Sets an object's dictionary-type property.
      static int MIDIObjectSetIntegerProperty​(int obj, CFStringRef propertyID, int value)
      [@function] MIDIObjectSetIntegerProperty Sets an object's integer-type property.
      static int MIDIObjectSetStringProperty​(int obj, CFStringRef propertyID, CFStringRef str)
      [@function] MIDIObjectSetStringProperty Sets an object's string-type property.
      static int MIDIOutputPortCreate​(int client, CFStringRef portName, org.moe.natj.general.ptr.IntPtr outPort)
      [@function] MIDIOutputPortCreate Creates an output port through which the client may send outgoing MIDI messages to any MIDI destination.
      static MIDIPacket MIDIPacketListAdd​(MIDIPacketList pktlist, long listSize, MIDIPacket curPacket, long time, long nData, java.lang.String data)
      [@function] MIDIPacketListAdd Adds a MIDI event to a MIDIPacketList.
      static MIDIPacket MIDIPacketListInit​(MIDIPacketList pktlist)
      [@function] MIDIPacketListInit Prepares a MIDIPacketList to be built up dynamically.
      static MIDIPacket MIDIPacketNext​(MIDIPacket pkt)
      [@function] MIDIPacketNext Advances a MIDIPacket pointer to the MIDIPacket which immediately follows it in memory if it is part of a MIDIPacketList.
      static int MIDIPortConnectSource​(int port, int source, org.moe.natj.general.ptr.VoidPtr connRefCon)
      [@function] MIDIPortConnectSource Establishes a connection from a source to a client's input port.
      static int MIDIPortDisconnectSource​(int port, int source)
      [@function] MIDIPortDisconnectSource Closes a previously-established source-to-input port connection.
      static int MIDIPortDispose​(int port)
      [@function] MIDIPortDispose Disposes a MIDIPort object.
      static int MIDIReceived​(int src, MIDIPacketList pktlist)
      [@function] MIDIReceived Distributes incoming MIDI from a source to the client input ports which are connected to that source.
      static int MIDIReceivedEventList​(int src, MIDIEventList evtlist)
      [@function] MIDIReceivedEventList Distributes incoming MIDI from a source to the client input ports which are connected to that source.
      static int MIDIRestart()
      [@function] MIDIRestart Stops and restarts MIDI I/O.
      static int MIDISend​(int port, int dest, MIDIPacketList pktlist)
      [@function] MIDISend Sends MIDI to a destination.
      static int MIDISendEventList​(int port, int dest, MIDIEventList evtlist)
      [@function] MIDISendEventList Sends MIDI to a destination.
      static int MIDISendSysex​(MIDISysexSendRequest request)
      [@function] MIDISendSysex Sends a single system-exclusive event, asynchronously.
      static int MIDISetupAddDevice​(int device)
      ----------------------------------------------------------------------------- [@function] MIDISetupAddDevice Adds a driver-owner MIDI device to the current MIDISetup Only MIDI drivers may make this call; it is in this header file only for consistency with MIDISetupRemoveDevice.
      static int MIDISetupAddExternalDevice​(int device)
      ----------------------------------------------------------------------------- [@function] MIDISetupAddExternalDevice Adds an external MIDI device to the current MIDISetup Useful for a studio configuration editor.
      static int MIDISetupRemoveDevice​(int device)
      ----------------------------------------------------------------------------- [@function] MIDISetupRemoveDevice Removes a driver-owned MIDI device from the current MIDISetup Generally this should only be called from a studio configuration editor, to remove a device which is offline and which the user has specified as being permanently missing.
      static int MIDISetupRemoveExternalDevice​(int device)
      ----------------------------------------------------------------------------- [@function] MIDISetupRemoveExternalDevice Removes an external MIDI device from the current MIDISetup Useful for a studio configuration editor.
      static int MIDISourceCreate​(int client, CFStringRef name, org.moe.natj.general.ptr.IntPtr outSrc)
      [@function] MIDISourceCreate Creates a virtual source in a client.
      static int MIDISourceCreateWithProtocol​(int client, CFStringRef name, int protocol, org.moe.natj.general.ptr.IntPtr outSrc)
      [@function] MIDISourceCreateWithProtocol Creates a virtual source in a client.
      static int MIDIThruConnectionCreate​(CFStringRef inPersistentOwnerID, CFDataRef inConnectionParams, org.moe.natj.general.ptr.IntPtr outConnection)
      [@function] MIDIThruConnectionCreate Creates a thru connection.
      static int MIDIThruConnectionDispose​(int connection)
      [@function] MIDIThruConnectionDispose Disposes a thru connection.
      static int MIDIThruConnectionFind​(CFStringRef inPersistentOwnerID, org.moe.natj.general.ptr.Ptr<CFDataRef> outConnectionList)
      [@function] MIDIThruConnectionFind Returns all of the persistent thru connections created by a client.
      static int MIDIThruConnectionGetParams​(int connection, org.moe.natj.general.ptr.Ptr<CFDataRef> outConnectionParams)
      [@function] MIDIThruConnectionGetParams Obtains a thru connection's MIDIThruConnectionParams.
      static void MIDIThruConnectionParamsInitialize​(MIDIThruConnectionParams inConnectionParams)
      [@function] MIDIThruConnectionParamsInitialize Fills a MIDIThruConnectionParams with default values.
      static long MIDIThruConnectionParamsSize​(MIDIThruConnectionParams ptr)
      [@defined] MIDIThruConnectionParamsSize Returns the size of a MIDIThruConnectionParams.
      static int MIDIThruConnectionSetParams​(int connection, CFDataRef inConnectionParams)
      [@function] MIDIThruConnectionSetParams Alters a thru connection's MIDIThruConnectionParams.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • kMIDIObjectType_ExternalMask

        public static final int kMIDIObjectType_ExternalMask
        See Also:
        Constant Field Values
      • MIDIChannelsWholePort

        public static final byte MIDIChannelsWholePort
        All MIDI-CI methods involving a channel number use 0x7f to mean "the whole port", i.e. all channels.
        See Also:
        Constant Field Values
    • Method Detail

      • MIDIClientCreate

        public static int MIDIClientCreate​(CFStringRef name,
                                           CoreMIDI.Function_MIDIClientCreate notifyProc,
                                           org.moe.natj.general.ptr.VoidPtr notifyRefCon,
                                           org.moe.natj.general.ptr.IntPtr outClient)
        [@function] MIDIClientCreate Creates a MIDIClient object. Note that notifyProc will always be called on the run loop which was current when MIDIClientCreate was first called.
        Parameters:
        name - The client's name.
        notifyProc - An optional (may be NULL) callback function through which the client will receive notifications of changes to the system.
        notifyRefCon - A refCon passed back to notifyRefCon
        outClient - On successful return, points to the newly-created MIDIClientRef.
        Returns:
        An OSStatus result code.
      • MIDIClientCreateWithBlock

        public static int MIDIClientCreateWithBlock​(CFStringRef name,
                                                    org.moe.natj.general.ptr.IntPtr outClient,
                                                    CoreMIDI.Block_MIDIClientCreateWithBlock notifyBlock)
        [@function] MIDIClientCreateWithBlock Creates a MIDIClient object. Note that notifyBlock is called on a thread chosen by the implementation. Thread-safety is the block's responsibility.
        Parameters:
        name - The client's name.
        outClient - On successful return, points to the newly-created MIDIClientRef.
        notifyBlock - An optional (may be NULL) block via which the client will receive notifications of changes to the system.
        Returns:
        An OSStatus result code.
      • MIDIClientDispose

        public static int MIDIClientDispose​(int client)
        [@function] MIDIClientDispose Disposes a MIDIClient object. It is not essential to call this function; the CoreMIDI framework will automatically dispose all MIDIClients when an application terminates. However, if this method is called to dispose the last/only MIDIClient owned by an application, the MIDI server may exit if there are no other MIDIClients remaining in the system, causing all subsequent calls to MIDIClientCreate and MIDIClientCreateWithBlock by that application to fail. For this reason, disposing all of an application's MIDIClients is strongly discouraged.
        Parameters:
        client - The client to dispose.
        Returns:
        An OSStatus result code.
      • MIDIInputPortCreate

        public static int MIDIInputPortCreate​(int client,
                                              CFStringRef portName,
                                              CoreMIDI.Function_MIDIInputPortCreate readProc,
                                              org.moe.natj.general.ptr.VoidPtr refCon,
                                              org.moe.natj.general.ptr.IntPtr outPort)
        [@function] MIDIInputPortCreate Creates an input port through which the client may receive incoming MIDI messages from any MIDI source. After creating a port, use MIDIPortConnectSource to establish an input connection from any number of sources to your port. readProc will be called on a separate high-priority thread owned by CoreMIDI.
        Parameters:
        client - The client to own the newly-created port.
        portName - The name of the port.
        readProc - The MIDIReadProc which will be called with incoming MIDI, from sources connected to this port.
        refCon - The refCon passed to readHook.
        outPort - On successful return, points to the newly-created MIDIPort.
        Returns:
        An OSStatus result code.
      • MIDIInputPortCreateWithBlock

        public static int MIDIInputPortCreateWithBlock​(int client,
                                                       CFStringRef portName,
                                                       org.moe.natj.general.ptr.IntPtr outPort,
                                                       CoreMIDI.Block_MIDIInputPortCreateWithBlock readBlock)
        [@function] MIDIInputPortCreateWithBlock Creates an input port through which the client may receive incoming MIDI messages from any MIDI source. After creating a port, use MIDIPortConnectSource to establish an input connection from any number of sources to your port. readBlock will be called on a separate high-priority thread owned by CoreMIDI.
        Parameters:
        client - The client to own the newly-created port.
        portName - The name of the port.
        outPort - On successful return, points to the newly-created MIDIPort.
        readBlock - The MIDIReadBlock which will be called with incoming MIDI, from sources connected to this port.
        Returns:
        An OSStatus result code.
      • MIDIOutputPortCreate

        public static int MIDIOutputPortCreate​(int client,
                                               CFStringRef portName,
                                               org.moe.natj.general.ptr.IntPtr outPort)
        [@function] MIDIOutputPortCreate Creates an output port through which the client may send outgoing MIDI messages to any MIDI destination. Output ports provide a mechanism for MIDI merging. CoreMIDI assumes that each output port will be responsible for sending only a single MIDI stream to each destination, although a single port may address all of the destinations in the system. Multiple output ports are only necessary when an application is capable of directing multiple simultaneous MIDI streams to the same destination.
        Parameters:
        client - The client to own the newly-created port
        portName - The name of the port.
        outPort - On successful return, points to the newly-created MIDIPort.
        Returns:
        An OSStatus result code.
      • MIDIPortDispose

        public static int MIDIPortDispose​(int port)
        [@function] MIDIPortDispose Disposes a MIDIPort object. It is not usually necessary to call this function; when an application's MIDIClient's are automatically disposed at termination, or explicitly, via MIDIClientDispose, the client's ports are automatically disposed at that time.
        Parameters:
        port - The port to dispose.
        Returns:
        An OSStatus result code.
      • MIDIPortConnectSource

        public static int MIDIPortConnectSource​(int port,
                                                int source,
                                                org.moe.natj.general.ptr.VoidPtr connRefCon)
        [@function] MIDIPortConnectSource Establishes a connection from a source to a client's input port.
        Parameters:
        port - The port to which to create the connection. This port's readProc is called with incoming MIDI from the source.
        source - The source from which to create the connection.
        connRefCon - This refCon is passed to the port's MIDIReadProc or MIDIReadBlock, as a way to identify the source.
        Returns:
        An OSStatus result code.
      • MIDIPortDisconnectSource

        public static int MIDIPortDisconnectSource​(int port,
                                                   int source)
        [@function] MIDIPortDisconnectSource Closes a previously-established source-to-input port connection.
        Parameters:
        port - The port whose connection is being closed.
        source - The source from which to close a connection to the specified port.
        Returns:
        An OSStatus result code.
      • MIDIGetNumberOfDevices

        public static long MIDIGetNumberOfDevices()
        [@function] MIDIGetNumberOfDevices Returns the number of devices in the system.
        Returns:
        The number of devices in the system, or 0 if an error occurred.
      • MIDIGetDevice

        public static int MIDIGetDevice​(long deviceIndex0)
        [@function] MIDIGetDevice Returns one of the devices in the system. Use this to enumerate the devices in the system. To enumerate the entities in the system, you can walk through the devices, then walk through the devices' entities. Note: If a client iterates through the devices and entities in the system, it will not ever visit any virtual sources and destinations created by other clients. Also, a device iteration will return devices which are "offline" (were present in the past but are not currently present), while iterations through the system's sources and destinations will not include the endpoints of offline devices. Thus clients should usually use MIDIGetNumberOfSources, MIDIGetSource, MIDIGetNumberOfDestinations and MIDIGetDestination, rather iterating through devices and entities to locate endpoints.
        Parameters:
        deviceIndex0 - The index (0...MIDIGetNumberOfDevices()-1) of the device to return.
        Returns:
        A reference to a device, or NULL if an error occurred.
      • MIDIDeviceGetNumberOfEntities

        public static long MIDIDeviceGetNumberOfEntities​(int device)
        [@function] MIDIDeviceGetNumberOfEntities Returns the number of entities in a given device.
        Parameters:
        device - The device being queried.
        Returns:
        The number of entities the device contains, or 0 if an error occurred.
      • MIDIDeviceGetEntity

        public static int MIDIDeviceGetEntity​(int device,
                                              long entityIndex0)
        [@function] MIDIDeviceGetEntity Returns one of a given device's entities.
        Parameters:
        device - The device being queried.
        entityIndex0 - The index (0...MIDIDeviceGetNumberOfEntities(device)-1) of the entity to return
        Returns:
        A reference to an entity, or NULL if an error occurred.
      • MIDIEntityGetNumberOfSources

        public static long MIDIEntityGetNumberOfSources​(int entity)
        [@function] MIDIEntityGetNumberOfSources Returns the number of sources in a given entity.
        Parameters:
        entity - The entity being queried
        Returns:
        The number of sources the entity contains, or 0 if an error occurred.
      • MIDIEntityGetSource

        public static int MIDIEntityGetSource​(int entity,
                                              long sourceIndex0)
        [@function] MIDIEntityGetSource Returns one of a given entity's sources.
        Parameters:
        entity - The entity being queried.
        sourceIndex0 - The index (0...MIDIEntityGetNumberOfSources(entity)-1) of the source to return
        Returns:
        A reference to a source, or NULL if an error occurred.
      • MIDIEntityGetNumberOfDestinations

        public static long MIDIEntityGetNumberOfDestinations​(int entity)
        [@function] MIDIEntityGetNumberOfDestinations Returns the number of destinations in a given entity.
        Parameters:
        entity - The entity being queried
        Returns:
        The number of destinations the entity contains, or 0 if an error occurred.
      • MIDIEntityGetDestination

        public static int MIDIEntityGetDestination​(int entity,
                                                   long destIndex0)
        [@function] MIDIEntityGetDestination Returns one of a given entity's destinations.
        Parameters:
        entity - The entity being queried.
        destIndex0 - The index (0...MIDIEntityGetNumberOfDestinations(entity) - 1) of the destination to return
        Returns:
        A reference to a destination, or NULL if an error occurred.
      • MIDIEntityGetDevice

        public static int MIDIEntityGetDevice​(int inEntity,
                                              org.moe.natj.general.ptr.IntPtr outDevice)
        [@function] MIDIEntityGetDevice Returns an entity's device.
        Parameters:
        inEntity - The entity being queried.
        outDevice - On successful return, the entity's owning device.
      • MIDIGetNumberOfSources

        public static long MIDIGetNumberOfSources()
        [@function] MIDIGetNumberOfSources Returns the number of sources in the system.
        Returns:
        The number of sources in the system, or 0 if an error occurred.
      • MIDIGetSource

        public static int MIDIGetSource​(long sourceIndex0)
        [@function] MIDIGetSource Returns one of the sources in the system.
        Parameters:
        sourceIndex0 - The index (0...MIDIGetNumberOfSources()-1) of the source to return
        Returns:
        A reference to a source, or NULL if an error occurred.
      • MIDIGetNumberOfDestinations

        public static long MIDIGetNumberOfDestinations()
        [@function] MIDIGetNumberOfDestinations Returns the number of destinations in the system.
        Returns:
        The number of destinations in the system, or 0 if an error occurred.
      • MIDIGetDestination

        public static int MIDIGetDestination​(long destIndex0)
        [@function] MIDIGetDestination Returns one of the destinations in the system.
        Parameters:
        destIndex0 - The index (0...MIDIGetNumberOfDestinations()-1) of the destination to return
        Returns:
        A reference to a destination, or NULL if an error occurred.
      • MIDIEndpointGetEntity

        public static int MIDIEndpointGetEntity​(int inEndpoint,
                                                org.moe.natj.general.ptr.IntPtr outEntity)
        [@function] MIDIEndpointGetEntity Returns an endpoint's entity. Virtual sources and destinations don't have entities.
        Parameters:
        inEndpoint - The endpoint being queried.
        outEntity - On exit, the endpoint's owning entity, or NULL if none.
      • MIDIDestinationCreate

        public static int MIDIDestinationCreate​(int client,
                                                CFStringRef name,
                                                CoreMIDI.Function_MIDIDestinationCreate readProc,
                                                org.moe.natj.general.ptr.VoidPtr refCon,
                                                org.moe.natj.general.ptr.IntPtr outDest)
        [@function] MIDIDestinationCreate Creates a virtual destination in a client. The specified readProc gets called when clients send MIDI to your virtual destination. Drivers need not call this; when they create devices and entities, sources and destinations are created at that time. After creating a virtual destination, it's a good idea to assign it the same unique ID it had the last time your application created it. (Although you should be prepared for this to fail in the unlikely event of a collision.) This will permit other clients to retain persistent references to your virtual destination more easily. See the discussion of kMIDIPropertyAdvanceScheduleTimeMuSec for notes about the relationship between when a sender sends MIDI to the destination and when it is received.
        Parameters:
        client - The client owning the virtual destination.
        name - The name of the virtual destination.
        readProc - The MIDIReadProc to be called when a client sends MIDI to the virtual destination.
        refCon - The refCon to be passed to the readProc.
        outDest - On successful return, a pointer to the newly-created destination.
        Returns:
        An OSStatus result code.
      • MIDIDestinationCreateWithBlock

        public static int MIDIDestinationCreateWithBlock​(int client,
                                                         CFStringRef name,
                                                         org.moe.natj.general.ptr.IntPtr outDest,
                                                         CoreMIDI.Block_MIDIDestinationCreateWithBlock readBlock)
        [@function] MIDIDestinationCreateWithBlock Creates a virtual destination in a client. The specified readBlock gets called when clients send MIDI to your virtual destination. Drivers need not call this; when they create devices and entities, sources and destinations are created at that time. After creating a virtual destination, it's a good idea to assign it the same unique ID it had the last time your application created it. (Although you should be prepared for this to fail in the unlikely event of a collision.) This will permit other clients to retain persistent references to your virtual destination more easily. See the discussion of kMIDIPropertyAdvanceScheduleTimeMuSec for notes about the relationship between when a sender sends MIDI to the destination and when it is received.
        Parameters:
        client - The client owning the virtual destination.
        name - The name of the virtual destination.
        outDest - On successful return, a pointer to the newly-created destination.
        readBlock - The MIDIReadBlock to be called when a client sends MIDI to the virtual destination.
        Returns:
        An OSStatus result code.
      • MIDISourceCreate

        public static int MIDISourceCreate​(int client,
                                           CFStringRef name,
                                           org.moe.natj.general.ptr.IntPtr outSrc)
        [@function] MIDISourceCreate Creates a virtual source in a client. Drivers need not call this; when they create devices and entities, sources and destinations are created at that time. After creating a virtual source, use MIDIReceived to transmit MIDI messages from your virtual source to any clients connected to the virtual source. After creating a virtual source, it's a good idea to assign it the same unique ID it had the last time your application created it. (Although you should be prepared for this to fail in the unlikely event of a collision.) This will permit other clients to retain persistent references to your virtual source more easily.
        Parameters:
        client - The client owning the virtual source.
        name - The name of the virtual source.
        outSrc - On successful return, a pointer to the newly-created source.
        Returns:
        An OSStatus result code.
      • MIDIEndpointDispose

        public static int MIDIEndpointDispose​(int endpt)
        [@function] MIDIEndpointDispose Disposes a virtual source or destination your client created.
        Parameters:
        endpt - The endpoint to be disposed.
        Returns:
        An OSStatus result code.
      • MIDIGetNumberOfExternalDevices

        public static long MIDIGetNumberOfExternalDevices()
        [@function] MIDIGetNumberOfExternalDevices Returns the number of external MIDI devices in the system. External MIDI devices are MIDI devices connected to driver endpoints via a standard MIDI cable. Their presence is completely optional, only when a UI (such as Audio MIDI Setup) adds them.
        Returns:
        The number of external devices in the system, or 0 if an error occurred.
      • MIDIGetExternalDevice

        public static int MIDIGetExternalDevice​(long deviceIndex0)
        [@function] MIDIGetExternalDevice Returns one of the external devices in the system. Use this to enumerate the external devices in the system.
        Parameters:
        deviceIndex0 - The index (0...MIDIGetNumberOfDevices()-1) of the device to return.
        Returns:
        A reference to a device, or NULL if an error occurred.
      • MIDIObjectGetIntegerProperty

        public static int MIDIObjectGetIntegerProperty​(int obj,
                                                       CFStringRef propertyID,
                                                       org.moe.natj.general.ptr.IntPtr outValue)
        [@function] MIDIObjectGetIntegerProperty Gets an object's integer-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be returned.
        propertyID - Name of the property to return.
        outValue - On successful return, the value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectSetIntegerProperty

        public static int MIDIObjectSetIntegerProperty​(int obj,
                                                       CFStringRef propertyID,
                                                       int value)
        [@function] MIDIObjectSetIntegerProperty Sets an object's integer-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be altered.
        propertyID - Name of the property to set.
        value - New value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectGetStringProperty

        public static int MIDIObjectGetStringProperty​(int obj,
                                                      CFStringRef propertyID,
                                                      org.moe.natj.general.ptr.Ptr<CFStringRef> str)
        [@function] MIDIObjectGetStringProperty Gets an object's string-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be returned.
        propertyID - Name of the property to return.
        str - On successful return, the value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectSetStringProperty

        public static int MIDIObjectSetStringProperty​(int obj,
                                                      CFStringRef propertyID,
                                                      CFStringRef str)
        [@function] MIDIObjectSetStringProperty Sets an object's string-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be altered.
        propertyID - Name of the property to set.
        str - New value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectGetDataProperty

        public static int MIDIObjectGetDataProperty​(int obj,
                                                    CFStringRef propertyID,
                                                    org.moe.natj.general.ptr.Ptr<CFDataRef> outData)
        [@function] MIDIObjectGetDataProperty Gets an object's data-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be returned.
        propertyID - Name of the property to return.
        outData - On successful return, the value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectSetDataProperty

        public static int MIDIObjectSetDataProperty​(int obj,
                                                    CFStringRef propertyID,
                                                    CFDataRef data)
        [@function] MIDIObjectSetDataProperty Sets an object's data-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be altered.
        propertyID - Name of the property to set.
        data - New value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectGetDictionaryProperty

        public static int MIDIObjectGetDictionaryProperty​(int obj,
                                                          CFStringRef propertyID,
                                                          org.moe.natj.general.ptr.Ptr<CFDictionaryRef> outDict)
        [@function] MIDIObjectGetDictionaryProperty Gets an object's dictionary-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be returned.
        propertyID - Name of the property to return.
        outDict - On successful return, the value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectSetDictionaryProperty

        public static int MIDIObjectSetDictionaryProperty​(int obj,
                                                          CFStringRef propertyID,
                                                          CFDictionaryRef dict)
        [@function] MIDIObjectSetDictionaryProperty Sets an object's dictionary-type property. (See the MIDIObjectRef documentation for information about properties.)
        Parameters:
        obj - The object whose property is to be altered.
        propertyID - Name of the property to set.
        dict - New value of the property.
        Returns:
        An OSStatus result code.
      • MIDIObjectGetProperties

        public static int MIDIObjectGetProperties​(int obj,
                                                  org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.ConstVoidPtr> outProperties,
                                                  byte deep)
        [@function] MIDIObjectGetProperties Gets all of an object's properties. Returns a CFPropertyList of all of an object's properties. The property list may be a dictionary or an array. Dictionaries map property names (CFString) to values, which may be CFNumber, CFString, or CFData. Arrays are arrays of such values. Properties which an object inherits from its owning object (if any) are not included.
        Parameters:
        obj - The object whose properties are to be returned.
        outProperties - On successful return, the object's properties.
        deep - true if the object's child objects are to be included (e.g. a device's entities, or an entity's endpoints).
        Returns:
        An OSStatus result code.
      • MIDIObjectRemoveProperty

        public static int MIDIObjectRemoveProperty​(int obj,
                                                   CFStringRef propertyID)
        [@function] MIDIObjectRemoveProperty Removes an object's property.
        Parameters:
        obj - The object whose property is to be removed.
        propertyID - The property to be removed.
        Returns:
        An OSStatus result code.
      • MIDIObjectFindByUniqueID

        public static int MIDIObjectFindByUniqueID​(int inUniqueID,
                                                   org.moe.natj.general.ptr.IntPtr outObject,
                                                   org.moe.natj.general.ptr.IntPtr outObjectType)
        [@function] MIDIObjectFindByUniqueID Locates a device, external device, entity, or endpoint by its uniqueID.
        Parameters:
        inUniqueID - The uniqueID of the object to search for. (This should be the result of an earlier call to MIDIObjectGetIntegerProperty for the property kMIDIPropertyUniqueID).
        outObject - The returned object, or 0 if the object was not found or an error occurred. This should be cast to the appropriate type (MIDIDeviceRef, MIDIEntityRef, MIDIEndpointRef), according to *outObjectType.
        outObjectType - On exit, the type of object which was found; undefined if none found.
        Returns:
        An OSStatus error code, including kMIDIObjectNotFound if there is no object with the specified uniqueID.
      • MIDISend

        public static int MIDISend​(int port,
                                   int dest,
                                   MIDIPacketList pktlist)
        [@function] MIDISend Sends MIDI to a destination. Events with future timestamps are scheduled for future delivery. CoreMIDI performs any needed MIDI merging.
        Parameters:
        port - The output port through which the MIDI is to be sent.
        dest - The destination to receive the events.
        pktlist - The MIDI events to be sent.
        Returns:
        An OSStatus result code.
      • MIDISendSysex

        public static int MIDISendSysex​(MIDISysexSendRequest request)
        [@function] MIDISendSysex Sends a single system-exclusive event, asynchronously. request->data must point to a single MIDI system-exclusive message, or portion thereof.
        Parameters:
        request - Contains the destination, and a pointer to the MIDI data to be sent.
        Returns:
        An OSStatus result code.
      • MIDIReceived

        public static int MIDIReceived​(int src,
                                       MIDIPacketList pktlist)
        [@function] MIDIReceived Distributes incoming MIDI from a source to the client input ports which are connected to that source. Drivers should call this function when receiving MIDI from a source. Clients which have created virtual sources, using MIDISourceCreate, should call this function when the source is generating MIDI. Unlike MIDISend(), a timestamp of 0 is not equivalent to "now"; the driver or virtual source is responsible for putting proper timestamps in the packets.
        Parameters:
        src - The source which is transmitting MIDI.
        pktlist - The MIDI events to be transmitted.
        Returns:
        An OSStatus result code.
      • MIDIFlushOutput

        public static int MIDIFlushOutput​(int dest)
        [@function] MIDIFlushOutput Unschedules previously-sent packets. Clients may use MIDIFlushOutput to cancel the sending of packets that were previously scheduled for future delivery.
        Parameters:
        dest - All pending events scheduled to be sent to this destination are unscheduled. If NULL, the operation applies to all destinations.
      • MIDIRestart

        public static int MIDIRestart()
        [@function] MIDIRestart Stops and restarts MIDI I/O. This is useful for forcing CoreMIDI to ask its drivers to rescan for hardware.
        Returns:
        An OSStatus result code.
      • MIDIPacketNext

        public static MIDIPacket MIDIPacketNext​(MIDIPacket pkt)
        [@function] MIDIPacketNext Advances a MIDIPacket pointer to the MIDIPacket which immediately follows it in memory if it is part of a MIDIPacketList.
        Parameters:
        pkt - A pointer to a MIDIPacket in a MIDIPacketList.
        Returns:
        The subsequent packet in the MIDIPacketList.
      • MIDIPacketListInit

        public static MIDIPacket MIDIPacketListInit​(MIDIPacketList pktlist)
        [@function] MIDIPacketListInit Prepares a MIDIPacketList to be built up dynamically.
        Parameters:
        pktlist - The packet list to be initialized.
        Returns:
        A pointer to the first MIDIPacket in the packet list.
      • MIDIPacketListAdd

        public static MIDIPacket MIDIPacketListAdd​(MIDIPacketList pktlist,
                                                   long listSize,
                                                   MIDIPacket curPacket,
                                                   long time,
                                                   long nData,
                                                   java.lang.String data)
        [@function] MIDIPacketListAdd Adds a MIDI event to a MIDIPacketList. The maximum size of a packet list is 65536 bytes. Large sysex messages must be sent in smaller packet lists.
        Parameters:
        pktlist - The packet list to which the event is to be added.
        listSize - The size, in bytes, of the packet list.
        curPacket - A packet pointer returned by a previous call to MIDIPacketListInit or MIDIPacketListAdd for this packet list.
        time - The new event's time.
        nData - The length of the new event, in bytes.
        data - The new event. May be a single MIDI event, or a partial sys-ex event. Running status is not permitted.
        Returns:
        Returns null if there was not room in the packet for the event; otherwise returns a packet pointer which should be passed as curPacket in a subsequent call to this function.
      • MIDIDeviceAddEntity

        public static int MIDIDeviceAddEntity​(int device,
                                              CFStringRef name,
                                              byte embedded,
                                              long numSourceEndpoints,
                                              long numDestinationEndpoints,
                                              org.moe.natj.general.ptr.IntPtr newEntity)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceAddEntity Drivers call this function to specify one of the entities that comprise a device. Non-drivers may call this function as of CoreMIDI 1.1 to add entities to external devices.
        Parameters:
        device - The device to which an entity is to be added.
        name - The name of the new entity.
        embedded - True if this entity is inside the device, false if the entity simply consists of external connectors to which other devices can be attached.
        numSourceEndpoints - The number of source endpoints the entity has.
        numDestinationEndpoints - The number of destination endpoints the entity has.
        newEntity - On successful return, points to the newly-created entity.
        Returns:
        An OSStatus result code.
      • MIDIDeviceRemoveEntity

        public static int MIDIDeviceRemoveEntity​(int device,
                                                 int entity)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceRemoveEntity Drivers may call this function to remove one of a device's entities. New for CoreMIDI 1.1.
        Parameters:
        device - The device from which an entity is to be removed.
        entity - The entity to be removed.
        Returns:
        An OSStatus result code.
      • MIDIEntityAddOrRemoveEndpoints

        public static int MIDIEntityAddOrRemoveEndpoints​(int entity,
                                                         long numSourceEndpoints,
                                                         long numDestinationEndpoints)
        ----------------------------------------------------------------------------- [@function] MIDIEntityAddOrRemoveEndpoints Drivers and configuration editors may call this function to add to or remove an entity's endpoints. New for CoreMIDI 1.3. The MIDIProtocolID of new endpoints is initially the same as that of the entity.
        Parameters:
        entity - The entity whose endpoints are to be manipulated.
        numSourceEndpoints - The desired new number of source endpoints.
        numDestinationEndpoints - The desired new number of destination endpoints.
        Returns:
        An OSStatus result code.
      • MIDISetupAddDevice

        public static int MIDISetupAddDevice​(int device)
        ----------------------------------------------------------------------------- [@function] MIDISetupAddDevice Adds a driver-owner MIDI device to the current MIDISetup Only MIDI drivers may make this call; it is in this header file only for consistency with MIDISetupRemoveDevice. New for CoreMIDI 1.1.
        Parameters:
        device - The device to be added.
      • MIDISetupRemoveDevice

        public static int MIDISetupRemoveDevice​(int device)
        ----------------------------------------------------------------------------- [@function] MIDISetupRemoveDevice Removes a driver-owned MIDI device from the current MIDISetup Generally this should only be called from a studio configuration editor, to remove a device which is offline and which the user has specified as being permanently missing. Instead of removing devices from the setup, drivers should set the device's kMIDIPropertyOffline to 1 so that if the device reappears later, none of its properties are lost. New for CoreMIDI 1.1.
        Parameters:
        device - The device to be added.
      • MIDISetupAddExternalDevice

        public static int MIDISetupAddExternalDevice​(int device)
        ----------------------------------------------------------------------------- [@function] MIDISetupAddExternalDevice Adds an external MIDI device to the current MIDISetup Useful for a studio configuration editor. New for CoreMIDI 1.1.
        Parameters:
        device - The device to be added.
      • MIDISetupRemoveExternalDevice

        public static int MIDISetupRemoveExternalDevice​(int device)
        ----------------------------------------------------------------------------- [@function] MIDISetupRemoveExternalDevice Removes an external MIDI device from the current MIDISetup Useful for a studio configuration editor. New for CoreMIDI 1.1.
        Parameters:
        device - The device to be removed.
      • MIDIExternalDeviceCreate

        public static int MIDIExternalDeviceCreate​(CFStringRef name,
                                                   CFStringRef manufacturer,
                                                   CFStringRef model,
                                                   org.moe.natj.general.ptr.IntPtr outDevice)
        ----------------------------------------------------------------------------- [@function] MIDIExternalDeviceCreate Create a new external MIDI device. Non-drivers may call this function as of CoreMIDI 1.1, to create external devices. The new device is not added to the current MIDISetupRef; to do this, use MIDISetupAddExternalDevice.
        Parameters:
        name - The name of the new device.
        manufacturer - The name of the device's manufacturer.
        model - The device's model name.
        outDevice - On successful return, points to the newly-created device.
        Returns:
        An OSStatus result code.
      • MIDIThruConnectionParamsSize

        public static long MIDIThruConnectionParamsSize​(MIDIThruConnectionParams ptr)
        [@defined] MIDIThruConnectionParamsSize Returns the size of a MIDIThruConnectionParams. Accounts for the variable-length elements in the structure and returns its true size in bytes.
      • MIDIThruConnectionParamsInitialize

        public static void MIDIThruConnectionParamsInitialize​(MIDIThruConnectionParams inConnectionParams)
        [@function] MIDIThruConnectionParamsInitialize Fills a MIDIThruConnectionParams with default values.
        Parameters:
        inConnectionParams - The struct to be initialized. This convenience function fills the connection structure with default values: no endpoints, no transformations (mostly zeroes except for the channel map). Then, just filling in the source and adding one destination will create a simple, unmodified thru connection.
      • MIDIThruConnectionCreate

        public static int MIDIThruConnectionCreate​(CFStringRef inPersistentOwnerID,
                                                   CFDataRef inConnectionParams,
                                                   org.moe.natj.general.ptr.IntPtr outConnection)
        [@function] MIDIThruConnectionCreate Creates a thru connection.
        Parameters:
        inPersistentOwnerID - If null, then the connection is marked as owned by the client and will be automatically disposed with the client. if it is non-null, then it should be a unique identifier, e.g. "com.mycompany.MyCoolProgram".
        inConnectionParams - A MIDIThruConnectionParams contained in a CFDataRef.
        outConnection - On successful return, a reference to the newly-created connection.
        Returns:
        An OSStatus result code.
      • MIDIThruConnectionDispose

        public static int MIDIThruConnectionDispose​(int connection)
        [@function] MIDIThruConnectionDispose Disposes a thru connection.
        Parameters:
        connection - The connection to be disposed
        Returns:
        An OSStatus result code.
      • MIDIThruConnectionGetParams

        public static int MIDIThruConnectionGetParams​(int connection,
                                                      org.moe.natj.general.ptr.Ptr<CFDataRef> outConnectionParams)
        [@function] MIDIThruConnectionGetParams Obtains a thru connection's MIDIThruConnectionParams.
        Parameters:
        connection - The connection to be disposed.
        outConnectionParams - On successful return, the connection's MIDIThruConnectionParams in a CFDataRef
        Returns:
        An OSStatus result code. The returned CFDataRef contains a MIDIThruConnectionParams structure. The caller is responsible for releasing it.
      • MIDIThruConnectionSetParams

        public static int MIDIThruConnectionSetParams​(int connection,
                                                      CFDataRef inConnectionParams)
        [@function] MIDIThruConnectionSetParams Alters a thru connection's MIDIThruConnectionParams.
        Parameters:
        connection - The connection to be modified.
        inConnectionParams - The connection's new MIDIThruConnectionParams in a CFDataRef
        Returns:
        An OSStatus result code.
      • MIDIThruConnectionFind

        public static int MIDIThruConnectionFind​(CFStringRef inPersistentOwnerID,
                                                 org.moe.natj.general.ptr.Ptr<CFDataRef> outConnectionList)
        [@function] MIDIThruConnectionFind Returns all of the persistent thru connections created by a client.
        Parameters:
        inPersistentOwnerID - The ID of the owner whose connections are to be returned.
        outConnectionList - On successful return, a CFDataRef containing an array of MIDIThruConnectionRef's.
        Returns:
        An OSStatus result code.
      • MIDIDeviceCreate

        public static int MIDIDeviceCreate​(org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.Ptr<MIDIDriverInterface>> owner,
                                           CFStringRef name,
                                           CFStringRef manufacturer,
                                           CFStringRef model,
                                           org.moe.natj.general.ptr.IntPtr outDevice)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceCreate Drivers call this function to create new MIDIDevice objects corresponding to the hardware that is present. Non-drivers may call this function as of CoreMIDI 1.1, to create external devices.
        Parameters:
        owner - The driver creating the device. NULL if a non-driver.
        name - The name of the new device.
        manufacturer - The name of the device's manufacturer.
        model - The device's model name.
        outDevice - On successful return, points to the newly-created device.
        Returns:
        An OSStatus result code.
      • MIDIDeviceDispose

        public static int MIDIDeviceDispose​(int device)
        [@function] MIDIDeviceDispose Drivers may call this function to dispose MIDIDevice objects which have not yet been added to the system via MIDISetupAddDevice. Once a device has been added to the system with MIDISetupAddDevice, the driver must not use this call to destroy it; it must use MIDISetupRemoveDevice to do so. Non-drivers do not have access to this function; they must call MIDISetupAddDevice and MIDISetupRemoveDevice.
        Parameters:
        device - The device to be disposed.
        Returns:
        An OSStatus result code.
      • MIDIDeviceListGetNumberOfDevices

        public static long MIDIDeviceListGetNumberOfDevices​(int devList)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceListGetNumberOfDevices Returns the number of devices in a device list.
        Parameters:
        devList - The device list.
        Returns:
        The number of devices in the list, or 0 if an error occurred.
      • MIDIDeviceListGetDevice

        public static int MIDIDeviceListGetDevice​(int devList,
                                                  long index0)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceListGetDevice Return one of the devices in a device list.
        Parameters:
        devList - The device list.
        index0 - The index (0...MIDIDeviceListGetNumberOfDevices()-1) of the device to return.
        Returns:
        A reference to a device, or NULL if an error occurred.
      • MIDIDeviceListAddDevice

        public static int MIDIDeviceListAddDevice​(int devList,
                                                  int dev)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceListAddDevice Add a device to a device list.
        Parameters:
        devList - The device list.
        dev - The device to add to the list.
        Returns:
        An OSStatus result code.
      • MIDIDeviceListDispose

        public static int MIDIDeviceListDispose​(int devList)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceListDispose Dispose a device list, but not the contained devices.
        Parameters:
        devList - The device list to be disposed.
        Returns:
        An OSStatus result code.
      • MIDIEndpointSetRefCons

        public static int MIDIEndpointSetRefCons​(int endpt,
                                                 org.moe.natj.general.ptr.VoidPtr ref1,
                                                 org.moe.natj.general.ptr.VoidPtr ref2)
        ----------------------------------------------------------------------------- [@function] MIDIEndpointSetRefCons Drivers need an efficient way to translate from a MIDIEndpoint (source or destination) to their own internal data structures corresponding to that endpoint. This function provides a way for the driver to assign its own refCons to endpoints. These refCons are passed back to the driver in its Send() and Flush() methods. RefCons are not persistent (i.e. they are not saved as part of a MIDISetup). They need to be re-initialized in each call to Start(). A typical use is to use one refCon to refer to a device, and a second to refer to a port on the device.
        Parameters:
        endpt - The endpoint whose refCons are to be set
        ref1 - The first refCon.
        ref2 - The second refCon.
        Returns:
        An OSStatus result code.
      • MIDIEndpointGetRefCons

        public static int MIDIEndpointGetRefCons​(int endpt,
                                                 org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.VoidPtr> ref1,
                                                 org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.VoidPtr> ref2)
        ----------------------------------------------------------------------------- [@function] MIDIEndpointGetRefCons Obtain the refCons assigned to the endpoints
        Parameters:
        endpt - The endpoint whose refCons are to be return
        ref1 - On exit, the first refCon.
        ref2 - On exit, the second refCon.
        Returns:
        An OSStatus result code.
      • MIDIGetDriverIORunLoop

        public static CFRunLoopRef MIDIGetDriverIORunLoop()
        ----------------------------------------------------------------------------- [@function] MIDIGetDriverIORunLoop Drivers typically need to receive asynchronous I/O completion callbacks on a high-priority thread. To save drivers from the trouble of creating their own threads for this purpose, and to make efficient use of system resources, the MIDIServer provides a thread which drivers may use. Drivers should do as little work as possible in this thread; typically, just dequeueing and encoding output packets, and decoding input packets into MIDIPacketLists to be passed to MIDIReceived. This is a realtime-priority thread and shouldn't be used for anything other than I/O. For lower-priority tasks, drivers can use the runloop which was current when they were constructed.
        Returns:
        The CFRunLoopRef of the server's driver I/O thread.
      • MIDIGetDriverDeviceList

        public static int MIDIGetDriverDeviceList​(org.moe.natj.general.ptr.Ptr<org.moe.natj.general.ptr.Ptr<MIDIDriverInterface>> driver)
        ----------------------------------------------------------------------------- [@function] MIDIGetDriverDeviceList Returns the list of devices which are in the current MIDISetup and which were created/owned by the specified driver. The returned device list should be disposed (using MIDIDeviceListDispose) by the caller.
        Parameters:
        driver - The driver whose devices are to be returned.
        Returns:
        The requested device list.
      • kMIDIPropertyName

        public static CFStringRef kMIDIPropertyName()
        [@constant] kMIDIPropertyName device/entity/endpoint property, string Devices, entities, and endpoints may all have names. The recommended way to display an endpoint's name is to ask for the endpoint name, and display only that name if it is unique. If it is non-unique, prepend the device name. A setup editor may allow the user to set the names of both driver-owned and external devices.
      • kMIDIPropertyManufacturer

        public static CFStringRef kMIDIPropertyManufacturer()
        [@constant] kMIDIPropertyManufacturer device/endpoint property, string Drivers should set this property on their devices. Setup editors may allow the user to set this property on external devices. Creators of virtual endpoints may set this property on their endpoints.
      • kMIDIPropertyModel

        public static CFStringRef kMIDIPropertyModel()
        [@constant] kMIDIPropertyModel device/endpoint property, string Drivers should set this property on their devices. Setup editors may allow the user to set this property on external devices. Creators of virtual endpoints may set this property on their endpoints.
      • kMIDIPropertyUniqueID

        public static CFStringRef kMIDIPropertyUniqueID()
        [@constant] kMIDIPropertyUniqueID devices, entities, endpoints all have unique ID's, integer The system assigns unique ID's to all objects. Creators of virtual endpoints may set this property on their endpoints, though doing so may fail if the chosen ID is not unique.
      • kMIDIPropertyDeviceID

        public static CFStringRef kMIDIPropertyDeviceID()
        [@constant] kMIDIPropertyDeviceID device/entity property, integer The entity's system-exclusive ID, in user-visible form Drivers may set this property on their devices or entities. Setup editors may allow the user to set this property on external devices.
      • kMIDIPropertyReceiveChannels

        public static CFStringRef kMIDIPropertyReceiveChannels()
        [@constant] kMIDIPropertyReceiveChannels endpoint property, integer The value is a bitmap of channels on which the object receives: 1=ch 1, 2=ch 2, 4=ch 3 ... 0x8000=ch 16. Drivers may set this property on their entities or endpoints. Setup editors may allow the user to set this property on external endpoints. Virtual destination may set this property on their endpoints.
      • kMIDIPropertyTransmitChannels

        public static CFStringRef kMIDIPropertyTransmitChannels()
        [@constant] kMIDIPropertyTransmitChannels endpoint property, integer The value is a bitmap of channels on which the object transmits: 1=ch 1, 2=ch 2, 4=ch 3 ... 0x8000=ch 16.
      • kMIDIPropertyMaxSysExSpeed

        public static CFStringRef kMIDIPropertyMaxSysExSpeed()
        [@constant] kMIDIPropertyMaxSysExSpeed device/entity/endpoint property, integer Set by the owning driver; should not be touched by other clients. The value is the maximum rate, in bytes/second, at which sysex messages may be sent reliably to this object. (The default value is 3125, as with MIDI 1.0)
      • kMIDIPropertyAdvanceScheduleTimeMuSec

        public static CFStringRef kMIDIPropertyAdvanceScheduleTimeMuSec()
        [@constant] kMIDIPropertyAdvanceScheduleTimeMuSec device/entity/endpoint property, integer Set by the owning driver; should not be touched by other clients. If it is non-zero, then it is a recommendation of how many microseconds in advance clients should schedule output. Clients should treat this value as a minimum. For devices with a non-zero advance schedule time, drivers will receive outgoing messages to the device at the time they are sent by the client, via MIDISend, and the driver is responsible for scheduling events to be played at the right times according to their timestamps. As of CoreMIDI 1.3, this property may also be set on virtual destinations (but only the creator of the destination should do so). When a client sends to a virtual destination with an advance schedule time of 0, the virtual destination receives its messages at their scheduled delivery time. If a virtual destination has a non-zero advance schedule time, it receives timestamped messages as soon as they are sent, and must do its own internal scheduling of received events.
      • kMIDIPropertyIsEmbeddedEntity

        public static CFStringRef kMIDIPropertyIsEmbeddedEntity()
        [@constant] kMIDIPropertyIsEmbeddedEntity entity/endpoint property, integer 0 if there are external MIDI connectors, 1 if not.
      • kMIDIPropertyIsBroadcast

        public static CFStringRef kMIDIPropertyIsBroadcast()
        [@constant] kMIDIPropertyIsBroadcast entity/endpoint property, integer 1 if the endpoint broadcasts messages to all of the other endpoints in the device, 0 if not. Set by the owning driver; should not be touched by other clients.
      • kMIDIPropertySingleRealtimeEntity

        public static CFStringRef kMIDIPropertySingleRealtimeEntity()
        [@constant] kMIDIPropertySingleRealtimeEntity device property, integer Some MIDI interfaces cannot route MIDI realtime messages to individual outputs; they are broadcast. On such devices the inverse is usually also true -- incoming realtime messages cannot be identified as originating from any particular source. When this property is set on a driver device, it signifies the 0-based index of the entity on which incoming realtime messages from the device will appear to have originated from.
      • kMIDIPropertyConnectionUniqueID

        public static CFStringRef kMIDIPropertyConnectionUniqueID()
        [@constant] kMIDIPropertyConnectionUniqueID device/entity/endpoint property, integer or CFDataRef UniqueID of an external device/entity/endpoint attached to this one. As of Mac OS X 10.3, Audio MIDI Setup maintains endpoint-to-external endpoint connections (in 10.2, it connected devices to devices). The property is non-existant or 0 if there is no connection. Beginning with CoreMIDI 1.3 (Mac OS X 10.2), this property may also be a CFDataRef containing an array of big-endian SInt32's, to allow specifying that a driver object connects to multiple external objects (via MIDI thru-ing or splitting). This property may also exist for external devices/entities/endpoints, in which case it signifies a MIDI Thru connection to another external device/entity/endpoint (again, it is strongly recommended that it be an endpoint).
      • kMIDIPropertyOffline

        public static CFStringRef kMIDIPropertyOffline()
        [@constant] kMIDIPropertyOffline device/entity/endpoint property, integer 1 = device is offline (is temporarily absent), 0 = present. Set by the owning driver, on the device; should not be touched by other clients. Property is inherited from the device by its entities and endpoints.
      • kMIDIPropertyPrivate

        public static CFStringRef kMIDIPropertyPrivate()
        [@constant] kMIDIPropertyPrivate device/entity/endpoint property, integer 1 = endpoint is private, hidden from other clients. May be set on a device or entity, but they will still appear in the API; only affects whether the owned endpoints are hidden.
      • kMIDIPropertyDriverOwner

        public static CFStringRef kMIDIPropertyDriverOwner()
        [@constant] kMIDIPropertyDriverOwner device/entity/endpoint property, string Name of the driver that owns a device. Set by the owning driver, on the device; should not be touched by other clients. Property is inherited from the device by its entities and endpoints.
      • kMIDIPropertyNameConfiguration

        public static CFStringRef kMIDIPropertyNameConfiguration()
        [@constant] kMIDIPropertyNameConfiguration device/entity/endpoint property, CFDictionary This specifies the device's current patch, note and control name values using the MIDINameDocument XML format. This specification requires the use of higher-level, OS-specific constructs outside of the specification to fully define the current names for a device. The MIDINameConfiguration property is implementated as a CFDictionary: key "master" maps to a CFDataRef containing an AliasHandle referring to the device's master name document. This is deprecated as of Mac OS X 10.10. key "masterDocumentPath" maps to a CFStringRef containing the filesystem path to the device's master name document. (This is new as of Mac OS X 10.10, but since the CoreMIDI implementation does not parse this dictionary, the convention can be safely ported to earlier versions of Mac OS X.) key "banks" maps to a CFDictionaryRef. This dictionary's keys are CFStringRef names of patchBank elements in the master document, and its values are each a CFDictionaryRef: key "file" maps to a CFDataRef containing an AliasHandle to a document containing patches that override those in the master document, and key "patchNameList" maps to a CFStringRef which is the name of the patchNameList element in the overriding document. key "currentChannelNameSets" maps to a 16-element CFArrayRef, each element of which is a CFStringRef of the name of the current mode for each of the 16 MIDI channels. key "currentDeviceMode" maps to a CFStringRef containing the name of the device's mode. Clients setting this property must take particular care to preserve dictionary values other than the ones they are interested in changing and to properly structure the dictionary.
      • kMIDIPropertyImage

        public static CFStringRef kMIDIPropertyImage()
        [@constant] kMIDIPropertyImage device property, CFStringRef which is a full POSIX path to a device or external device's icon, stored in any standard graphic file format such as JPEG, GIF, PNG and TIFF are all acceptable. (See CFURL for functions to convert between POSIX paths and other ways of specifying files.) The image's maximum size should be 128x128. Drivers should set the icon on the devices they add. A studio setup editor should allow the user to choose icons for external devices.
      • kMIDIPropertyDriverVersion

        public static CFStringRef kMIDIPropertyDriverVersion()
        [@constant] kMIDIPropertyDriverVersion device/entity/endpoint property, integer, returns the driver version API of the owning driver (only for driver- owned devices). Drivers need not set this property; applications should not write to it.
      • kMIDIPropertySupportsGeneralMIDI

        public static CFStringRef kMIDIPropertySupportsGeneralMIDI()
        [@constant] kMIDIPropertySupportsGeneralMIDI device/entity property, integer (0/1). Indicates whether the device or entity implements the General MIDI specification.
      • kMIDIPropertySupportsMMC

        public static CFStringRef kMIDIPropertySupportsMMC()
        [@constant] kMIDIPropertySupportsMMC device/entity property, integer (0/1). Indicates whether the device or entity implements the MIDI Machine Control portion of the MIDI specification.
      • kMIDIPropertyCanRoute

        public static CFStringRef kMIDIPropertyCanRoute()
        [@constant] kMIDIPropertyCanRoute device/entity property, integer (0/1). Indicates whether the device or entity can route MIDI messages to or from other external MIDI devices (as with MIDI patch bays). This should NOT be set on devices which are controlled by drivers.
      • kMIDIPropertyReceivesClock

        public static CFStringRef kMIDIPropertyReceivesClock()
        [@constant] kMIDIPropertyReceivesClock device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI beat clock messages.
      • kMIDIPropertyReceivesMTC

        public static CFStringRef kMIDIPropertyReceivesMTC()
        [@constant] kMIDIPropertyReceivesMTC device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI Time Code messages.
      • kMIDIPropertyReceivesNotes

        public static CFStringRef kMIDIPropertyReceivesNotes()
        [@constant] kMIDIPropertyReceivesNotes device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI Note On messages.
      • kMIDIPropertyReceivesProgramChanges

        public static CFStringRef kMIDIPropertyReceivesProgramChanges()
        [@constant] kMIDIPropertyReceivesProgramChanges device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI program change messages.
      • kMIDIPropertyReceivesBankSelectMSB

        public static CFStringRef kMIDIPropertyReceivesBankSelectMSB()
        [@constant] kMIDIPropertyReceivesBankSelectMSB device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI bank select MSB messages (control 0).
      • kMIDIPropertyReceivesBankSelectLSB

        public static CFStringRef kMIDIPropertyReceivesBankSelectLSB()
        [@constant] kMIDIPropertyReceivesBankSelectLSB device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI bank select LSB messages (control 32).
      • kMIDIPropertyTransmitsClock

        public static CFStringRef kMIDIPropertyTransmitsClock()
        [@constant] kMIDIPropertyTransmitsClock device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI beat clock messages.
      • kMIDIPropertyTransmitsMTC

        public static CFStringRef kMIDIPropertyTransmitsMTC()
        [@constant] kMIDIPropertyTransmitsMTC device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI Time Code messages.
      • kMIDIPropertyTransmitsNotes

        public static CFStringRef kMIDIPropertyTransmitsNotes()
        [@constant] kMIDIPropertyTransmitsNotes device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI note messages.
      • kMIDIPropertyTransmitsProgramChanges

        public static CFStringRef kMIDIPropertyTransmitsProgramChanges()
        [@constant] kMIDIPropertyTransmitsProgramChanges device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI program change messages.
      • kMIDIPropertyTransmitsBankSelectMSB

        public static CFStringRef kMIDIPropertyTransmitsBankSelectMSB()
        [@constant] kMIDIPropertyTransmitsBankSelectMSB device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI bank select MSB messages (control 0).
      • kMIDIPropertyTransmitsBankSelectLSB

        public static CFStringRef kMIDIPropertyTransmitsBankSelectLSB()
        [@constant] kMIDIPropertyTransmitsBankSelectLSB device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI bank select LSB messages (control 32).
      • kMIDIPropertyPanDisruptsStereo

        public static CFStringRef kMIDIPropertyPanDisruptsStereo()
        [@constant] kMIDIPropertyPanDisruptsStereo device/entity property, integer (0/1). Indicates whether the MIDI pan messages (control 10), when sent to the device or entity, cause undesirable effects when playing stereo sounds (e.g. converting the signal to mono).
      • kMIDIPropertyIsSampler

        public static CFStringRef kMIDIPropertyIsSampler()
        [@constant] kMIDIPropertyIsSampler device/entity property, integer (0/1). Indicates whether the device or entity plays audio samples in response to MIDI note messages.
      • kMIDIPropertyIsDrumMachine

        public static CFStringRef kMIDIPropertyIsDrumMachine()
        [@constant] kMIDIPropertyIsDrumMachine device/entity property, integer (0/1). Indicates whether the device or entity's sound presets tend to be collections of non-transposable samples (e.g. drum kits).
      • kMIDIPropertyIsMixer

        public static CFStringRef kMIDIPropertyIsMixer()
        [@constant] kMIDIPropertyIsMixer device/entity property, integer (0/1). Indicates whether the device or entity mixes external audio signals, controlled by MIDI messages.
      • kMIDIPropertyIsEffectUnit

        public static CFStringRef kMIDIPropertyIsEffectUnit()
        [@constant] kMIDIPropertyIsEffectUnit device/entity property, integer (0/1). Indicates whether the device or entity is primarily a MIDI-controlled audio effect unit (i.e. does not generate sound on its own).
      • kMIDIPropertyMaxReceiveChannels

        public static CFStringRef kMIDIPropertyMaxReceiveChannels()
        [@constant] kMIDIPropertyMaxReceiveChannels device/entity property, integer (0-16). Indicates the maximum number of MIDI channels on which a device may simultaneously receive MIDI Channel Messages. Common values are 0 (devices which only respond to System Messages), 1 (non-multitimbral devices), and 16 (fully multitimbral devices). Other values are possible, for example devices which are multi-timbral but have fewer than 16 "parts".
      • kMIDIPropertyMaxTransmitChannels

        public static CFStringRef kMIDIPropertyMaxTransmitChannels()
        [@constant] kMIDIPropertyMaxTransmitChannels device/entity property, integer (0/1). Indicates the maximum number of MIDI channels on which a device may simultaneously transmit MIDI Channel Messages. Common values are 0, 1 and 16.
      • kMIDIPropertyDriverDeviceEditorApp

        public static CFStringRef kMIDIPropertyDriverDeviceEditorApp()
        [@constant] kMIDIPropertyDriverDeviceEditorApp device property, string, contains the full path to an application which knows how to configure this driver-owned devices. Drivers may set this property on their owned devices. Applications must not write to it.
      • kMIDIPropertySupportsShowControl

        public static CFStringRef kMIDIPropertySupportsShowControl()
        [@constant] kMIDIPropertySupportsShowControl device/entity property, integer (0/1). Indicates whether the device implements the MIDI Show Control specification.
      • kMIDIPropertyDisplayName

        public static CFStringRef kMIDIPropertyDisplayName()
        [@constant] kMIDIPropertyDisplayName device/entity/endpoint property, string. Provides the Apple-recommended user-visible name for an endpoint, by combining the device and endpoint names. For objects other than endpoints, the display name is the same as the name.
      • MIDINetworkBonjourServiceType

        public static java.lang.String MIDINetworkBonjourServiceType()
        This is the Bonjour service type.
      • MIDINetworkNotificationContactsDidChange

        public static java.lang.String MIDINetworkNotificationContactsDidChange()
        These are NSNotifications posted by MIDINetworkSession objects. MIDINetworkNotificationContactsDidChange signifies that the list of contacts changed. MIDINetworkNotificationSessionDidChange signifies that other aspects of the session changed, such as the connection list, connection policy, etc.
      • MIDINetworkNotificationSessionDidChange

        public static java.lang.String MIDINetworkNotificationSessionDidChange()
      • kMIDIPropertyNameConfigurationDictionary

        public static CFStringRef kMIDIPropertyNameConfigurationDictionary()
        [@constant] kMIDIPropertyNameConfigurationDictionary device/entity/endpoint property, CFDictionary This specifies the device's current patch, note and control name values using the MIDINameDocument XML format. This specification requires the use of higher-level, OS-specific constructs outside of the specification to fully define the current names for a device. The MIDINameConfiguration property is implementated as a CFDictionary: key "masterDocumentPath" maps to a CFStringRef containing the filesystem path to the device's master name document. key "banks" maps to a CFDictionaryRef. This dictionary's keys are CFStringRef names of patchBank elements in the master document, and its values are each a CFDictionaryRef: key "file" maps to a CFDataRef containing URL bookmark data to a document containing patches that override those in the master document, and key "patchNameList" maps to a CFStringRef which is the name of the patchNameList element in the overriding document. key "currentChannelNameSets" maps to a 16-element CFArrayRef, each element of which is a CFStringRef of the name of the current mode for each of the 16 MIDI channels. key "currentDeviceMode" maps to a CFStringRef containing the name of the device's mode. Clients setting this property must take particular care to preserve dictionary values other than the ones they are interested in changing and to properly structure the dictionary.
      • MIDIInputPortCreateWithProtocol

        public static int MIDIInputPortCreateWithProtocol​(int client,
                                                          CFStringRef portName,
                                                          int protocol,
                                                          org.moe.natj.general.ptr.IntPtr outPort,
                                                          CoreMIDI.Block_MIDIInputPortCreateWithProtocol receiveBlock)
        [@function] MIDIInputPortCreateWithProtocol Creates an input port through which the client may receive incoming MIDI messages from any MIDI source. After creating a port, use MIDIPortConnectSource to establish an input connection from any number of sources to your port. readBlock will be called on a separate high-priority thread owned by CoreMIDI.
        Parameters:
        client - The client to own the newly-created port.
        portName - The name of the port.
        protocol - The MIDI protocol variant to be delivered to this port. The system will automatically convert to this protocol as needed.
        outPort - On successful return, points to the newly-created MIDIPort.
        receiveBlock - The MIDIReceiveBlock which will be called with incoming MIDI, from sources connected to this port.
        Returns:
        An OSStatus result code.
      • MIDIDestinationCreateWithProtocol

        public static int MIDIDestinationCreateWithProtocol​(int client,
                                                            CFStringRef name,
                                                            int protocol,
                                                            org.moe.natj.general.ptr.IntPtr outDest,
                                                            CoreMIDI.Block_MIDIDestinationCreateWithProtocol readBlock)
        [@function] MIDIDestinationCreateWithProtocol Creates a virtual destination in a client. The specified readBlock gets called when clients send MIDI to your virtual destination. Drivers need not call this; when they create devices and entities, sources and destinations are created at that time. After creating a virtual destination, it's a good idea to assign it the same unique ID it had the last time your application created it. (Although you should be prepared for this to fail in the unlikely event of a collision.) This will permit other clients to retain persistent references to your virtual destination more easily. See the discussion of kMIDIPropertyAdvanceScheduleTimeMuSec for notes about the relationship between when a sender sends MIDI to the destination and when it is received.
        Parameters:
        client - The client owning the virtual destination.
        name - The name of the virtual destination.
        protocol - The MIDI protocol variant to be delivered to this destination. The system will automatically convert to this protocol as needed.
        outDest - On successful return, a pointer to the newly-created destination.
        readBlock - The MIDIReceiveBlock to be called when a client sends MIDI to the virtual destination.
        Returns:
        An OSStatus result code.
      • MIDISourceCreateWithProtocol

        public static int MIDISourceCreateWithProtocol​(int client,
                                                       CFStringRef name,
                                                       int protocol,
                                                       org.moe.natj.general.ptr.IntPtr outSrc)
        [@function] MIDISourceCreateWithProtocol Creates a virtual source in a client. Drivers need not call this; when they create devices and entities, sources and destinations are created at that time. After creating a virtual source, use MIDIReceivedEventList to transmit MIDI messages from your virtual source to any clients connected to the virtual source. After creating a virtual source, it's a good idea to assign it the same unique ID it had the last time your application created it. (Although you should be prepared for this to fail in the unlikely event of a collision.) This will permit other clients to retain persistent references to your virtual source more easily.
        Parameters:
        client - The client owning the virtual source.
        name - The name of the virtual source.
        protocol - The MIDI protocol variant to be sent from this source. The system will automatically convert from this protocol to the protocol of the destination as needed.
        outSrc - On successful return, a pointer to the newly-created source.
        Returns:
        An OSStatus result code.
      • MIDISendEventList

        public static int MIDISendEventList​(int port,
                                            int dest,
                                            MIDIEventList evtlist)
        [@function] MIDISendEventList Sends MIDI to a destination. Events with future timestamps are scheduled for future delivery. CoreMIDI performs any needed MIDI merging.
        Parameters:
        port - The output port through which the MIDI is to be sent.
        dest - The destination to receive the events.
        evtlist - The MIDI events to be sent.
        Returns:
        An OSStatus result code.
      • MIDIReceivedEventList

        public static int MIDIReceivedEventList​(int src,
                                                MIDIEventList evtlist)
        [@function] MIDIReceivedEventList Distributes incoming MIDI from a source to the client input ports which are connected to that source. Drivers should call this function when receiving MIDI from a source. Clients which have created virtual sources, using MIDISourceCreateWithProtocol, should call this function when the source is generating MIDI. Unlike MIDISendEventList(), a timestamp of 0 is not equivalent to "now"; the driver or virtual source is responsible for putting proper timestamps in the packets.
        Parameters:
        src - The source which is transmitting MIDI.
        evtlist - The MIDI events to be transmitted.
        Returns:
        An OSStatus result code.
      • MIDIEventPacketNext

        public static MIDIEventPacket MIDIEventPacketNext​(MIDIEventPacket pkt)
        [@function] MIDIEventPacketNext Advances a MIDIEventPacket pointer to the MIDIEventPacket which immediately follows it in memory if it is part of a MIDIEventList.
        Parameters:
        pkt - A pointer to a MIDIEventPacket in a MIDIEventList.
        Returns:
        The subsequent packet in the MIDIEventList.
      • MIDIEventListInit

        public static MIDIEventPacket MIDIEventListInit​(MIDIEventList evtlist,
                                                        int protocol)
        [@function] MIDIEventListInit Prepares a MIDIEventList to be built up dynamically.
        Parameters:
        evtlist - The event list to be initialized.
        Returns:
        A pointer to the first MIDIEventPacket in the event list.
      • MIDIEventListAdd

        public static MIDIEventPacket MIDIEventListAdd​(MIDIEventList evtlist,
                                                       long listSize,
                                                       MIDIEventPacket curPacket,
                                                       long time,
                                                       long wordCount,
                                                       org.moe.natj.general.ptr.ConstIntPtr words)
        [@function] MIDIEventListAdd Adds a MIDI event to a MIDIEventList. The maximum size of a event list is 65536 bytes. Large sysex messages must be sent in smaller event lists. Note that events must use the same protocol as was passed to MIDIEventListInit().
        Parameters:
        evtlist - The event list to which the event is to be added.
        listSize - The capacity, in bytes, of the event list.
        curPacket - A packet pointer returned by a previous call to MIDIEventListInit or MIDIEventListAdd for this packet list.
        time - The new event's time.
        wordCount - The number of valid MIDI 32-bit words which follow, in data.
        words - The new event. May be a single MIDI event, or a partial sys-ex event. Running status is not permitted.
        Returns:
        Returns null if there was not room in the packet for the event; otherwise returns a packet pointer which should be passed as curPacket in a subsequent call to this function.
      • MIDIDeviceNewEntity

        public static int MIDIDeviceNewEntity​(int device,
                                              CFStringRef name,
                                              int protocol,
                                              byte embedded,
                                              long numSourceEndpoints,
                                              long numDestinationEndpoints,
                                              org.moe.natj.general.ptr.IntPtr newEntity)
        ----------------------------------------------------------------------------- [@function] MIDIDeviceNewEntity Drivers call this function to specify one of the entities that comprise a device. Non-drivers may call this function as of macOS 10.16 & iOS 14 to add entities to external devices.
        Parameters:
        device - The device to which an entity is to be added.
        name - The name of the new entity.
        protocol - The MIDI protocol variant used by the sources and destinations that comprise this entity.
        embedded - True if this entity is inside the device, false if the entity simply consists of external connectors to which other devices can be attached.
        numSourceEndpoints - The number of source endpoints the entity has.
        numDestinationEndpoints - The number of destination endpoints the entity has.
        newEntity - On successful return, points to the newly-created entity.
        Returns:
        An OSStatus result code.
      • MIDIMessageTypeForUPWord

        public static int MIDIMessageTypeForUPWord​(int word)
      • MIDI1UPChannelVoiceMessage

        public static int MIDI1UPChannelVoiceMessage​(byte group,
                                                     byte status,
                                                     byte channel,
                                                     byte data1,
                                                     byte data2)
        MIDI 1.0 Universal MIDI Packet (MIDI-1UP) Channel Voice Message generalized structure Word0: [aaaa][bbbb][cccc][dddd][0eeeeeee][0fffffff] a: Universal MIDI Packet Message Type (0x2 for all voice messages) b: Channel group number c: MIDI status d: MIDI channel e: MIDI note number f: Velocity The following set of functions will correctly construct voice channel messages as MIDI-1UP.
      • MIDI1UPNoteOff

        public static int MIDI1UPNoteOff​(byte group,
                                         byte channel,
                                         byte noteNumber,
                                         byte velocity)
      • MIDI1UPNoteOn

        public static int MIDI1UPNoteOn​(byte group,
                                        byte channel,
                                        byte noteNumber,
                                        byte velocity)
      • MIDI1UPControlChange

        public static int MIDI1UPControlChange​(byte group,
                                               byte channel,
                                               byte index,
                                               byte data)
      • MIDI1UPPitchBend

        public static int MIDI1UPPitchBend​(byte group,
                                           byte channel,
                                           byte lsb,
                                           byte msb)
      • MIDI1UPSystemCommon

        public static int MIDI1UPSystemCommon​(byte group,
                                              byte status,
                                              byte byte1,
                                              byte byte2)
      • MIDI2ChannelVoiceMessage

        public static MIDIMessage_64 MIDI2ChannelVoiceMessage​(byte group,
                                                              byte status,
                                                              byte channel,
                                                              char index,
                                                              int value)
        MIDI 2.0 Channel Voice Message generalized structure Word0: [aaaa][bbbb][cccc][dddd][eeeeeeeeeeeeeeee] Word1: [nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn] a: Message Type (type 1 for all voice messages) b: Channel group number c: MIDI status d: MIDI channel e: "Index" -- the contents of this field vary based on message type n: Data payload The following set of functions will correctly construct voice channel messages as two 32-bit words.
      • MIDI2NoteOn

        public static MIDIMessage_64 MIDI2NoteOn​(byte group,
                                                 byte channel,
                                                 byte noteNumber,
                                                 byte attributeType,
                                                 char attributeData,
                                                 char velocity)
      • MIDI2NoteOff

        public static MIDIMessage_64 MIDI2NoteOff​(byte group,
                                                  byte channel,
                                                  byte noteNumber,
                                                  byte attributeType,
                                                  char attributeData,
                                                  char velocity)
      • MIDI2PolyPressure

        public static MIDIMessage_64 MIDI2PolyPressure​(byte group,
                                                       byte channel,
                                                       byte noteNumber,
                                                       int value)
      • MIDI2RegisteredPNC

        public static MIDIMessage_64 MIDI2RegisteredPNC​(byte group,
                                                        byte channel,
                                                        byte noteNumber,
                                                        byte index,
                                                        int value)
      • MIDI2AssignablePNC

        public static MIDIMessage_64 MIDI2AssignablePNC​(byte group,
                                                        byte channel,
                                                        byte noteNumber,
                                                        byte index,
                                                        int value)
      • MIDI2PerNoteManagment

        public static MIDIMessage_64 MIDI2PerNoteManagment​(byte group,
                                                           byte channel,
                                                           byte noteNumber,
                                                           boolean detachPNCs,
                                                           boolean resetPNCsToDefault)
      • MIDI2ControlChange

        public static MIDIMessage_64 MIDI2ControlChange​(byte group,
                                                        byte channel,
                                                        byte index,
                                                        int value)
      • MIDI2RegisteredControl

        public static MIDIMessage_64 MIDI2RegisteredControl​(byte group,
                                                            byte channel,
                                                            byte bank,
                                                            byte index,
                                                            int value)
      • MIDI2AssignableControl

        public static MIDIMessage_64 MIDI2AssignableControl​(byte group,
                                                            byte channel,
                                                            byte bank,
                                                            byte index,
                                                            int value)
      • MIDI2RelRegisteredControl

        public static MIDIMessage_64 MIDI2RelRegisteredControl​(byte group,
                                                               byte channel,
                                                               byte bank,
                                                               byte index,
                                                               int value)
      • MIDI2RelAssignableControl

        public static MIDIMessage_64 MIDI2RelAssignableControl​(byte group,
                                                               byte channel,
                                                               byte bank,
                                                               byte index,
                                                               int value)
      • MIDI2ProgramChange

        public static MIDIMessage_64 MIDI2ProgramChange​(byte group,
                                                        byte channel,
                                                        boolean bankIsValid,
                                                        byte program,
                                                        byte bank_msb,
                                                        byte bank_lsb)
      • MIDI2ChannelPressure

        public static MIDIMessage_64 MIDI2ChannelPressure​(byte group,
                                                          byte channel,
                                                          int value)
      • MIDI2PitchBend

        public static MIDIMessage_64 MIDI2PitchBend​(byte group,
                                                    byte channel,
                                                    int value)
      • MIDI2PerNotePitchBend

        public static MIDIMessage_64 MIDI2PerNotePitchBend​(byte group,
                                                           byte channel,
                                                           byte noteNumber,
                                                           int value)
      • kMIDIPropertyProtocolID

        public static CFStringRef kMIDIPropertyProtocolID()
        constant kMIDIPropertyProtocolID device/entity/endpoint property, MIDIProtocolID. Indicates the native protocol in which the endpoint communicates. The value is set by the system on endpoints, when they are created. Drivers may dynamically change the protocol of an endpoint as a result of a MIDI-CI negotiation, by setting this property on the endpoint. Clients can observe changes to this property.