Skip to content

Instantly share code, notes, and snippets.

@alloy
Created May 1, 2014 15:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alloy/98dcd94ff5d13f115b26 to your computer and use it in GitHub Desktop.
Save alloy/98dcd94ff5d13f115b26 to your computer and use it in GitHub Desktop.
Fixed BridgeSupport for CoreMIDI on iOS 7.x. Place at `/Library/RubyMotion/data/ios/7.0/BridgeSupport/CoreMIDI.bridgesupport` and `/Library/RubyMotion/data/ios/7.1/BridgeSupport/CoreMIDI.bridgesupport`.
<?xml version='1.0'?>
<signatures version='1.0'>
<depends_on path='/System/Library/Frameworks/IOKit.framework'/>
<struct name='MIDIControlTransform' type='{MIDIControlTransform=&quot;controlType&quot;C&quot;remappedControlType&quot;C&quot;controlNumber&quot;S&quot;transform&quot;S&quot;param&quot;s}'>
<field declared_type='MIDITransformControlType' name='controlType' type='C'/>
<field declared_type='MIDITransformControlType' name='remappedControlType' type='C'/>
<field declared_type='UInt16' name='controlNumber' type='S'/>
<field declared_type='MIDITransformType' name='transform' type='S'/>
<field declared_type='SInt16' name='param' type='s'/>
</struct>
<struct name='MIDIDriverInterface' type='{MIDIDriverInterface=&quot;_reserved&quot;^v&quot;QueryInterface&quot;^?&quot;AddRef&quot;^?&quot;Release&quot;^?&quot;FindDevices&quot;^?&quot;Start&quot;^?&quot;Stop&quot;^?&quot;Configure&quot;^?&quot;Send&quot;^?&quot;EnableSource&quot;^?&quot;Flush&quot;^?&quot;Monitor&quot;^?}'>
<field declared_type='void*' name='_reserved' type='^v'/>
<field declared_type='HRESULT (*)(void *, REFIID, LPVOID *)' function_pointer='true' name='QueryInterface' type='^?'>
<arg declared_type='void*' type='^v'/>
<arg declared_type='REFIID' type='{_REFIID=CCCCCCCCCCCCCCCC}'/>
<arg declared_type='LPVOID*' type='^^v'/>
<retval declared_type='HRESULT' type='l' type64='i'/>
</field>
<field declared_type='ULONG (*)(void *)' function_pointer='true' name='AddRef' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='ULONG' type='L' type64='I'/>
</field>
<field declared_type='ULONG (*)(void *)' function_pointer='true' name='Release' type='^?'>
<arg declared_type='void*' type='^v'/>
<retval declared_type='ULONG' type='L' type64='I'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceListRef)' function_pointer='true' name='FindDevices' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceListRef)' function_pointer='true' name='Start' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef)' function_pointer='true' name='Stop' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIDeviceRef)' function_pointer='true' name='Configure' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIPacketList *, void *, void *)' function_pointer='true' name='Send' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, Boolean)' function_pointer='true' name='EnableSource' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='Boolean' type='B'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, void *, void *)' function_pointer='true' name='Flush' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
<field declared_type='OSStatus (*)(MIDIDriverRef, MIDIEndpointRef, MIDIPacketList *)' function_pointer='true' name='Monitor' type='^?'>
<arg declared_type='MIDIDriverRef' type='^^{MIDIDriverInterface}'/>
<arg declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</field>
</struct>
<struct name='MIDIIOErrorNotification' type='{MIDIIOErrorNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;driverDevice&quot;^{OpaqueMIDIDevice}&quot;errorCode&quot;i}' type64='{MIDIIOErrorNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;driverDevice&quot;I&quot;errorCode&quot;i}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIDeviceRef' name='driverDevice' type='^{OpaqueMIDIDevice=}' type64='I'/>
<field declared_type='OSStatus' name='errorCode' type='l' type64='i'/>
</struct>
<struct name='MIDINotification' type='{MIDINotification=&quot;messageID&quot;i&quot;messageSize&quot;I}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
</struct>
<struct name='MIDIObjectAddRemoveNotification' type='{MIDIObjectAddRemoveNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;parent&quot;^v&quot;parentType&quot;i&quot;child&quot;^v&quot;childType&quot;i}' type64='{MIDIObjectAddRemoveNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;parent&quot;I&quot;parentType&quot;i&quot;child&quot;I&quot;childType&quot;i}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIObjectRef' name='parent' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='parentType' type='l' type64='i'/>
<field declared_type='MIDIObjectRef' name='child' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='childType' type='l' type64='i'/>
</struct>
<struct name='MIDIObjectPropertyChangeNotification' type='{MIDIObjectPropertyChangeNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;object&quot;^v&quot;objectType&quot;i&quot;propertyName&quot;^{__CFString}}' type64='{MIDIObjectPropertyChangeNotification=&quot;messageID&quot;i&quot;messageSize&quot;I&quot;object&quot;I&quot;objectType&quot;i&quot;propertyName&quot;^{__CFString}}'>
<field declared_type='MIDINotificationMessageID' name='messageID' type='l' type64='i'/>
<field declared_type='UInt32' name='messageSize' type='L' type64='I'/>
<field declared_type='MIDIObjectRef' name='object' type='@' type64='I'/>
<field declared_type='MIDIObjectType' name='objectType' type='l' type64='i'/>
<field declared_type='CFStringRef' name='propertyName' type='^{__CFString=}'/>
</struct>
<struct name='MIDIPacket' type='{MIDIPacket=&quot;timeStamp&quot;Q&quot;length&quot;S&quot;data&quot;[256C]}'>
<field declared_type='MIDITimeStamp' name='timeStamp' type='Q'/>
<field declared_type='UInt16' name='length' type='S'/>
<field declared_type='Byte*' name='data' type='[256C]'/>
</struct>
<struct name='MIDIPacketList' type='{MIDIPacketList=&quot;numPackets&quot;I&quot;packet&quot;[1{MIDIPacket=&quot;timeStamp&quot;Q&quot;length&quot;S&quot;data&quot;[256C]}]}'>
<field declared_type='UInt32' name='numPackets' type='L' type64='I'/>
<field declared_type='MIDIPacket*' name='packet' type='[1{MIDIPacket=&quot;timeStamp&quot;Q&quot;length&quot;S&quot;data&quot;[256C]}]'/>
</struct>
<struct name='MIDISysexSendRequest' type='{MIDISysexSendRequest=&quot;destination&quot;^{OpaqueMIDIEndpoint}&quot;data&quot;*&quot;bytesToSend&quot;I&quot;complete&quot;B&quot;reserved&quot;[3C]&quot;completionProc&quot;^?&quot;completionRefCon&quot;^v}' type64='{MIDISysexSendRequest=&quot;destination&quot;I&quot;data&quot;*&quot;bytesToSend&quot;I&quot;complete&quot;B&quot;reserved&quot;[3C]&quot;completionProc&quot;^?&quot;completionRefCon&quot;^v}'>
<field declared_type='MIDIEndpointRef' name='destination' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<field const='true' declared_type='Byte*' name='data' type='*'/>
<field declared_type='UInt32' name='bytesToSend' type='L' type64='I'/>
<field declared_type='Boolean' name='complete' type='B'/>
<field declared_type='Byte*' name='reserved' type='[3C]'/>
<field declared_type='MIDICompletionProc' function_pointer='true' name='completionProc' type='^?'>
<arg declared_type='MIDISysexSendRequest*' type='^{MIDISysexSendRequest=^{OpaqueMIDIEndpoint}*IB[3C]^?^v}' type64='^{MIDISysexSendRequest=I*IB[3C]^?^v}'/>
<retval declared_type='void' type='v'/>
</field>
<field declared_type='void*' name='completionRefCon' type='^v'/>
</struct>
<struct name='MIDIThruConnectionEndpoint' type='{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;^{OpaqueMIDIEndpoint}&quot;uniqueID&quot;i}' type64='{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;I&quot;uniqueID&quot;i}'>
<field declared_type='MIDIEndpointRef' name='endpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<field declared_type='MIDIUniqueID' name='uniqueID' type='l' type64='i'/>
</struct>
<struct name='MIDIThruConnectionParams' type='{MIDIThruConnectionParams=&quot;version&quot;I&quot;numSources&quot;I&quot;sources&quot;[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;^{OpaqueMIDIEndpoint}&quot;uniqueID&quot;i}]&quot;numDestinations&quot;I&quot;destinations&quot;[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;^{OpaqueMIDIEndpoint}&quot;uniqueID&quot;i}]&quot;channelMap&quot;[16C]&quot;lowVelocity&quot;C&quot;highVelocity&quot;C&quot;lowNote&quot;C&quot;highNote&quot;C&quot;noteNumber&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;velocity&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;keyPressure&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;channelPressure&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;programChange&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;pitchBend&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;filterOutSysEx&quot;C&quot;filterOutMTC&quot;C&quot;filterOutBeatClock&quot;C&quot;filterOutTuneRequest&quot;C&quot;reserved2&quot;[3C]&quot;filterOutAllControls&quot;C&quot;numControlTransforms&quot;S&quot;numMaps&quot;S&quot;reserved3&quot;[4S]}' type64='{MIDIThruConnectionParams=&quot;version&quot;I&quot;numSources&quot;I&quot;sources&quot;[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;I&quot;uniqueID&quot;i}]&quot;numDestinations&quot;I&quot;destinations&quot;[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;I&quot;uniqueID&quot;i}]&quot;channelMap&quot;[16C]&quot;lowVelocity&quot;C&quot;highVelocity&quot;C&quot;lowNote&quot;C&quot;highNote&quot;C&quot;noteNumber&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;velocity&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;keyPressure&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;channelPressure&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;programChange&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;pitchBend&quot;{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}&quot;filterOutSysEx&quot;C&quot;filterOutMTC&quot;C&quot;filterOutBeatClock&quot;C&quot;filterOutTuneRequest&quot;C&quot;reserved2&quot;[3C]&quot;filterOutAllControls&quot;C&quot;numControlTransforms&quot;S&quot;numMaps&quot;S&quot;reserved3&quot;[4S]}'>
<field declared_type='UInt32' name='version' type='L' type64='I'/>
<field declared_type='UInt32' name='numSources' type='L' type64='I'/>
<field declared_type='MIDIThruConnectionEndpoint*' name='sources' type='[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;^{OpaqueMIDIEndpoint}&quot;uniqueID&quot;i}]' type64='[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;I&quot;uniqueID&quot;i}]'/>
<field declared_type='UInt32' name='numDestinations' type='L' type64='I'/>
<field declared_type='MIDIThruConnectionEndpoint*' name='destinations' type='[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;^{OpaqueMIDIEndpoint}&quot;uniqueID&quot;i}]' type64='[8{MIDIThruConnectionEndpoint=&quot;endpointRef&quot;I&quot;uniqueID&quot;i}]'/>
<field declared_type='UInt8*' name='channelMap' type='[16C]'/>
<field declared_type='UInt8' name='lowVelocity' type='C'/>
<field declared_type='UInt8' name='highVelocity' type='C'/>
<field declared_type='UInt8' name='lowNote' type='C'/>
<field declared_type='UInt8' name='highNote' type='C'/>
<field declared_type='MIDITransform' name='noteNumber' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='MIDITransform' name='velocity' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='MIDITransform' name='keyPressure' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='MIDITransform' name='channelPressure' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='MIDITransform' name='programChange' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='MIDITransform' name='pitchBend' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'/>
<field declared_type='UInt8' name='filterOutSysEx' type='C'/>
<field declared_type='UInt8' name='filterOutMTC' type='C'/>
<field declared_type='UInt8' name='filterOutBeatClock' type='C'/>
<field declared_type='UInt8' name='filterOutTuneRequest' type='C'/>
<field declared_type='UInt8*' name='reserved2' type='[3C]'/>
<field declared_type='UInt8' name='filterOutAllControls' type='C'/>
<field declared_type='UInt16' name='numControlTransforms' type='S'/>
<field declared_type='UInt16' name='numMaps' type='S'/>
<field declared_type='UInt16*' name='reserved3' type='[4S]'/>
</struct>
<struct name='MIDITransform' type='{MIDITransform=&quot;transform&quot;S&quot;param&quot;s}'>
<field declared_type='MIDITransformType' name='transform' type='S'/>
<field declared_type='SInt16' name='param' type='s'/>
</struct>
<struct name='MIDIValueMap' type='{MIDIValueMap=&quot;value&quot;[128C]}'>
<field declared_type='UInt8*' name='value' type='[128C]'/>
</struct>
<constant const='true' declared_type='NSString*' name='MIDINetworkBonjourServiceType' type='@'/>
<constant const='true' declared_type='NSString*' name='MIDINetworkNotificationContactsDidChange' type='@'/>
<constant const='true' declared_type='NSString*' name='MIDINetworkNotificationSessionDidChange' type='@'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyAdvanceScheduleTimeMuSec' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyCanRoute' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyConnectionUniqueID' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDeviceID' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDisplayName' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverDeviceEditorApp' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverOwner' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyDriverVersion' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyImage' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsBroadcast' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsDrumMachine' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsEffectUnit' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsEmbeddedEntity' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsMixer' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyIsSampler' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyManufacturer' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxReceiveChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxSysExSpeed' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyMaxTransmitChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyModel' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyName' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyNameConfiguration' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyOffline' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyPanDisruptsStereo' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyPrivate' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceiveChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesBankSelectLSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesBankSelectMSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesClock' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesMTC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesNotes' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyReceivesProgramChanges' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySingleRealtimeEntity' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsGeneralMIDI' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsMMC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertySupportsShowControl' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitChannels' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsBankSelectLSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsBankSelectMSB' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsClock' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsMTC' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsNotes' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyTransmitsProgramChanges' type='^{__CFString=}'/>
<constant const='true' declared_type='CFStringRef' name='kMIDIPropertyUniqueID' type='^{__CFString=}'/>
<enum name='MIDINetworkConnectionPolicy_Anyone' value='2'/>
<enum name='MIDINetworkConnectionPolicy_HostsInContactList' value='1'/>
<enum name='MIDINetworkConnectionPolicy_NoOne' value='0'/>
<enum name='kMIDIControlType_14Bit' value='1'/>
<enum name='kMIDIControlType_14BitNRPN' value='5'/>
<enum name='kMIDIControlType_14BitRPN' value='3'/>
<enum name='kMIDIControlType_7Bit' value='0'/>
<enum name='kMIDIControlType_7BitNRPN' value='4'/>
<enum name='kMIDIControlType_7BitRPN' value='2'/>
<enum name='kMIDIIDNotUnique' value='-10843'/>
<enum name='kMIDIInvalidClient' value='-10830'/>
<enum name='kMIDIInvalidPort' value='-10831'/>
<enum name='kMIDIInvalidUniqueID' value='0'/>
<enum name='kMIDIMessageSendErr' value='-10838'/>
<enum name='kMIDIMsgIOError' value='7'/>
<enum name='kMIDIMsgObjectAdded' value='2'/>
<enum name='kMIDIMsgObjectRemoved' value='3'/>
<enum name='kMIDIMsgPropertyChanged' value='4'/>
<enum name='kMIDIMsgSerialPortOwnerChanged' value='6'/>
<enum name='kMIDIMsgSetupChanged' value='1'/>
<enum name='kMIDIMsgThruConnectionsChanged' value='5'/>
<enum name='kMIDINoConnection' value='-10833'/>
<enum name='kMIDINoCurrentSetup' value='-10837'/>
<enum name='kMIDINotPermitted' value='-10844'/>
<enum name='kMIDIObjectNotFound' value='-10842'/>
<enum name='kMIDIObjectType_Destination' value='3'/>
<enum name='kMIDIObjectType_Device' value='0'/>
<enum name='kMIDIObjectType_Entity' value='1'/>
<enum name='kMIDIObjectType_ExternalDestination' value='19'/>
<enum name='kMIDIObjectType_ExternalDevice' value='16'/>
<enum name='kMIDIObjectType_ExternalEntity' value='17'/>
<enum name='kMIDIObjectType_ExternalMask' value='16'/>
<enum name='kMIDIObjectType_ExternalSource' value='18'/>
<enum name='kMIDIObjectType_Other' value='-1'/>
<enum name='kMIDIObjectType_Source' value='2'/>
<enum name='kMIDIServerStartErr' value='-10839'/>
<enum name='kMIDISetupFormatErr' value='-10840'/>
<enum name='kMIDIThruConnection_MaxEndpoints' value='8'/>
<enum name='kMIDITransform_Add' value='8'/>
<enum name='kMIDITransform_FilterOut' value='1'/>
<enum name='kMIDITransform_MapControl' value='2'/>
<enum name='kMIDITransform_MapValue' value='12'/>
<enum name='kMIDITransform_MaxValue' value='11'/>
<enum name='kMIDITransform_MinValue' value='10'/>
<enum name='kMIDITransform_None' value='0'/>
<enum name='kMIDITransform_Scale' value='9'/>
<enum name='kMIDIUnknownEndpoint' value='-10834'/>
<enum name='kMIDIUnknownProperty' value='-10835'/>
<enum name='kMIDIWrongEndpointType' value='-10832'/>
<enum name='kMIDIWrongPropertyType' value='-10836'/>
<enum name='kMIDIWrongThread' value='-10841'/>
<function name='MIDIClientCreate'>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDINotifyProc' function_pointer='true' name='notifyProc' type='^?'>
<arg const='true' declared_type='MIDINotification*' type='^{MIDINotification=iI}'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='notifyRefCon' type='^v'/>
<arg declared_type='MIDIClientRef*' name='outClient' type='^^{OpaqueMIDIClient}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIClientDispose'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDestinationCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDIReadProc' function_pointer='true' name='readProc' type='^?'>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='refCon' type='^v'/>
<arg declared_type='MIDIEndpointRef*' name='outDest' type='^^{OpaqueMIDIEndpoint}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceAddEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='Boolean' name='embedded' type='B'/>
<arg declared_type='ItemCount' name='numSourceEndpoints' type='L' type64='Q'/>
<arg declared_type='ItemCount' name='numDestinationEndpoints' type='L' type64='Q'/>
<arg declared_type='MIDIEntityRef*' name='newEntity' type='^^{OpaqueMIDIEntity}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceCreate'>
<arg declared_type='MIDIDriverRef' name='owner' type='^^{MIDIDriverInterface}'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='manufacturer' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='model' type='^{__CFString=}'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceDispose'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceGetEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='ItemCount' name='entityIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEntityRef' type='^{OpaqueMIDIEntity=}' type64='I'/>
</function>
<function name='MIDIDeviceGetNumberOfEntities'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIDeviceListAddDevice'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<arg declared_type='MIDIDeviceRef' name='dev' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceListDispose'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIDeviceListGetDevice'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<arg declared_type='ItemCount' name='index0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIDeviceListGetNumberOfDevices'>
<arg declared_type='MIDIDeviceListRef' name='devList' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIDeviceRemoveEntity'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointDispose'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointGetEntity'>
<arg declared_type='MIDIEndpointRef' name='inEndpoint' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='MIDIEntityRef*' name='outEntity' type='^^{OpaqueMIDIEntity}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointGetRefCons'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void**' name='ref1' type='^^v'/>
<arg declared_type='void**' name='ref2' type='^^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEndpointSetRefCons'>
<arg declared_type='MIDIEndpointRef' name='endpt' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' name='ref1' type='^v'/>
<arg declared_type='void*' name='ref2' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityAddOrRemoveEndpoints'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='numSourceEndpoints' type='L' type64='Q'/>
<arg declared_type='ItemCount' name='numDestinationEndpoints' type='L' type64='Q'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityGetDestination'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='destIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIEntityGetDevice'>
<arg declared_type='MIDIEntityRef' name='inEntity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIEntityGetNumberOfDestinations'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIEntityGetNumberOfSources'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIEntityGetSource'>
<arg declared_type='MIDIEntityRef' name='entity' type='^{OpaqueMIDIEntity=}' type64='I'/>
<arg declared_type='ItemCount' name='sourceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIExternalDeviceCreate'>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='manufacturer' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='model' type='^{__CFString=}'/>
<arg declared_type='MIDIDeviceRef*' name='outDevice' type='^^{OpaqueMIDIDevice}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIFlushOutput'>
<arg declared_type='MIDIEndpointRef' name='dest' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIGetDestination'>
<arg declared_type='ItemCount' name='destIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIGetDevice'>
<arg declared_type='ItemCount' name='deviceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIGetDriverDeviceList'>
<arg declared_type='MIDIDriverRef' name='driver' type='^^{MIDIDriverInterface}'/>
<retval declared_type='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
</function>
<function name='MIDIGetDriverIORunLoop'>
<retval declared_type='CFRunLoopRef' type='^{__CFRunLoop=}'/>
</function>
<function name='MIDIGetExternalDevice'>
<arg declared_type='ItemCount' name='deviceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
</function>
<function name='MIDIGetNumberOfDestinations'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfDevices'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfExternalDevices'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetNumberOfSources'>
<retval declared_type='ItemCount' type='L' type64='Q'/>
</function>
<function name='MIDIGetSource'>
<arg declared_type='ItemCount' name='sourceIndex0' type='L' type64='Q'/>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</function>
<function name='MIDIInputPortCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='portName' type='^{__CFString=}'/>
<arg declared_type='MIDIReadProc' function_pointer='true' name='readProc' type='^?'>
<arg const='true' declared_type='MIDIPacketList*' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='void*' type='^v'/>
<arg declared_type='void*' type='^v'/>
<retval declared_type='void' type='v'/>
</arg>
<arg declared_type='void*' name='refCon' type='^v'/>
<arg declared_type='MIDIPortRef*' name='outPort' type='^^{OpaqueMIDIPort}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectFindByUniqueID'>
<arg declared_type='MIDIUniqueID' name='inUniqueID' type='l' type64='i'/>
<arg declared_type='MIDIObjectRef*' name='outObject' type='^^v' type64='^I'/>
<arg declared_type='MIDIObjectType*' name='outObjectType' type='^i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetDataProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef*' name='outData' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetDictionaryProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDictionaryRef*' name='outDict' type='^^{__CFDictionary}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetIntegerProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='SInt32*' name='outValue' type='^i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetProperties'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFPropertyListRef*' name='outProperties' type='^^v'/>
<arg declared_type='Boolean' name='deep' type='B'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectGetStringProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFStringRef*' name='str' type='^^{__CFString}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectRemoveProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetDataProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef' name='data' type='^{__CFData=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetDictionaryProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFDictionaryRef' name='data' type='^{__CFDictionary=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetIntegerProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='SInt32' name='value' type='l' type64='i'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIObjectSetStringProperty'>
<arg declared_type='MIDIObjectRef' name='obj' type='@' type64='I'/>
<arg declared_type='CFStringRef' name='propertyID' type='^{__CFString=}'/>
<arg declared_type='CFStringRef' name='str' type='^{__CFString=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIOutputPortCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='portName' type='^{__CFString=}'/>
<arg declared_type='MIDIPortRef*' name='outPort' type='^^{OpaqueMIDIPort}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPacketListAdd'>
<arg declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<arg declared_type='ByteCount' name='listSize' type='L' type64='Q'/>
<arg declared_type='MIDIPacket*' name='curPacket' type='^{MIDIPacket=QS[256C]}'/>
<arg declared_type='MIDITimeStamp' name='time' type='Q'/>
<arg declared_type='ByteCount' name='nData' type='L' type64='Q'/>
<arg const='true' declared_type='Byte*' name='data' type='*'/>
<retval declared_type='MIDIPacket*' type='^{MIDIPacket=QS[256C]}'/>
</function>
<function name='MIDIPacketListInit'>
<arg declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='MIDIPacket*' type='^{MIDIPacket=QS[256C]}'/>
</function>
<function name='MIDIPortConnectSource'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='source' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg declared_type='void*' name='connRefCon' type='^v'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPortDisconnectSource'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='source' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIPortDispose'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIReceived'>
<arg declared_type='MIDIEndpointRef' name='src' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIRestart'>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISend'>
<arg declared_type='MIDIPortRef' name='port' type='^{OpaqueMIDIPort=}' type64='I'/>
<arg declared_type='MIDIEndpointRef' name='dest' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<arg const='true' declared_type='MIDIPacketList*' name='pktlist' type='^{MIDIPacketList=I[1{MIDIPacket=QS[256C]}]}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISendSysex'>
<arg declared_type='MIDISysexSendRequest*' name='request' type='^{MIDISysexSendRequest=^{OpaqueMIDIEndpoint}*IB[3C]^?^v}' type64='^{MIDISysexSendRequest=I*IB[3C]^?^v}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupAddDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupAddExternalDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupRemoveDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISetupRemoveExternalDevice'>
<arg declared_type='MIDIDeviceRef' name='device' type='^{OpaqueMIDIDevice=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDISourceCreate'>
<arg declared_type='MIDIClientRef' name='client' type='^{OpaqueMIDIClient=}' type64='I'/>
<arg declared_type='CFStringRef' name='name' type='^{__CFString=}'/>
<arg declared_type='MIDIEndpointRef*' name='outSrc' type='^^{OpaqueMIDIEndpoint}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionCreate'>
<arg declared_type='CFStringRef' name='inPersistentOwnerID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef' name='inConnectionParams' type='^{__CFData=}'/>
<arg declared_type='MIDIThruConnectionRef*' name='outConnection' type='^^{OpaqueMIDIThruConnection}' type64='^I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionDispose'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionFind'>
<arg declared_type='CFStringRef' name='inPersistentOwnerID' type='^{__CFString=}'/>
<arg declared_type='CFDataRef*' name='outConnectionList' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionGetParams'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<arg declared_type='CFDataRef*' name='outConnectionParams' type='^^{__CFData}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<function name='MIDIThruConnectionParamsInitialize'>
<arg declared_type='MIDIThruConnectionParams*' name='inConnectionParams' type='^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=^{OpaqueMIDIEndpoint}i}]I[8{MIDIThruConnectionEndpoint=^{OpaqueMIDIEndpoint}i}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}' type64='^{MIDIThruConnectionParams=II[8{MIDIThruConnectionEndpoint=Ii}]I[8{MIDIThruConnectionEndpoint=Ii}][16C]CCCC{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}{MIDITransform=Ss}CCCC[3C]CSS[4S]}'/>
<retval declared_type='void' type='v'/>
</function>
<function name='MIDIThruConnectionSetParams'>
<arg declared_type='MIDIThruConnectionRef' name='connection' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
<arg declared_type='CFDataRef' name='inConnectionParams' type='^{__CFData=}'/>
<retval declared_type='OSStatus' type='l' type64='i'/>
</function>
<class name='MIDINetworkConnection'>
<method class_method='true' selector='connectionWithHost:'>
<arg declared_type='MIDINetworkHost*' index='0' name='host' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method selector='host'>
<retval declared_type='MIDINetworkHost*' type='@'/>
</method>
</class>
<class name='MIDINetworkHost'>
<method selector='address'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='hasSameAddressAs:'>
<arg declared_type='MIDINetworkHost*' index='0' name='other' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method class_method='true' selector='hostWithName:address:port:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSString*' index='1' name='address' type='@'/>
<arg declared_type='NSUInteger' index='2' name='port' type='I' type64='Q'/>
<retval declared_type='id' type='@'/>
</method>
<method class_method='true' selector='hostWithName:netService:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSNetService*' index='1' name='netService' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method class_method='true' selector='hostWithName:netServiceName:netServiceDomain:'>
<arg declared_type='NSString*' index='0' name='name' type='@'/>
<arg declared_type='NSString*' index='1' name='netServiceName' type='@'/>
<arg declared_type='NSString*' index='2' name='netServiceDomain' type='@'/>
<retval declared_type='id' type='@'/>
</method>
<method selector='name'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='netServiceDomain'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='netServiceName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='port'>
<retval declared_type='NSUInteger' type='I' type64='Q'/>
</method>
</class>
<class name='MIDINetworkSession'>
<method selector='addConnection:'>
<arg declared_type='MIDINetworkConnection*' index='0' name='connection' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='addContact:'>
<arg declared_type='MIDINetworkHost*' index='0' name='contact' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='connectionPolicy'>
<retval declared_type='MIDINetworkConnectionPolicy' type='I' type64='Q'/>
</method>
<method selector='connections'>
<retval declared_type='NSSet*' type='@'/>
</method>
<method selector='contacts'>
<retval declared_type='NSSet*' type='@'/>
</method>
<method class_method='true' selector='defaultSession'>
<retval declared_type='MIDINetworkSession*' type='@'/>
</method>
<method selector='destinationEndpoint'>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</method>
<method selector='isEnabled'>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='localName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='networkName'>
<retval declared_type='NSString*' type='@'/>
</method>
<method selector='networkPort'>
<retval declared_type='NSUInteger' type='I' type64='Q'/>
</method>
<method selector='removeConnection:'>
<arg declared_type='MIDINetworkConnection*' index='0' name='connection' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='removeContact:'>
<arg declared_type='MIDINetworkHost*' index='0' name='contact' type='@'/>
<retval declared_type='BOOL' type='B'/>
</method>
<method selector='setConnectionPolicy:'>
<arg declared_type='MIDINetworkConnectionPolicy' index='0' name='connectionPolicy' type='I' type64='Q'/>
<retval declared_type='void' type='v'/>
</method>
<method selector='setEnabled:'>
<arg declared_type='BOOL' index='0' name='enabled' type='B'/>
<retval declared_type='void' type='v'/>
</method>
<method selector='sourceEndpoint'>
<retval declared_type='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
</method>
</class>
<opaque name='MIDIClientRef' type='^{OpaqueMIDIClient=}' type64='I'/>
<opaque name='MIDIDeviceListRef' type='^{OpaqueMIDIDeviceList=}' type64='I'/>
<opaque name='MIDIDeviceRef' type='^{OpaqueMIDIDevice=}' type64='I'/>
<opaque name='MIDIEndpointRef' type='^{OpaqueMIDIEndpoint=}' type64='I'/>
<opaque name='MIDIEntityRef' type='^{OpaqueMIDIEntity=}' type64='I'/>
<opaque name='MIDIObjectRef' type='^v' type64='I'/>
<opaque name='MIDIPortRef' type='^{OpaqueMIDIPort=}' type64='I'/>
<opaque name='MIDISetupRef' type='^{OpaqueMIDISetup=}' type64='I'/>
<opaque name='MIDIThruConnectionRef' type='^{OpaqueMIDIThruConnection=}' type64='I'/>
</signatures>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment