coremidi

package
v0.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package coremidi provides purego-based Go bindings for the macOS CoreMIDI framework.

Apple documentation: https://developer.apple.com/documentation/coremidi

Index

Constants

View Source
const (
	KMIDIIDNotUnique       = -10843
	KMIDIInvalidClient     = -10830
	KMIDIInvalidPort       = -10831
	KMIDIMessageSendErr    = -10838
	KMIDINoConnection      = -10833
	KMIDINoCurrentSetup    = -10837
	KMIDINotPermitted      = -10844
	KMIDIObjectNotFound    = -10842
	KMIDIServerStartErr    = -10839
	KMIDISetupFormatErr    = -10840
	KMIDIUnknownEndpoint   = -10834
	KMIDIUnknownError      = -10845
	KMIDIUnknownProperty   = -10835
	KMIDIWrongEndpointType = -10832
	KMIDIWrongPropertyType = -10836
	KMIDIWrongThread       = -10841
)
View Source
const (
	KMIDIInvalidUniqueID = 0
)
View Source
const (
	KMIDIThruConnection_MaxEndpoints = 8
)

Variables

This section is empty.

Functions

func BuiltinMemcpyChk

func BuiltinMemcpyChk(arg unsafe.Pointer, arg2 unsafe.Pointer, arg3 uint, arg4 uint) unsafe.Pointer

C function: __builtin___memcpy_chk

func BuiltinObjectSize

func BuiltinObjectSize(arg unsafe.Pointer, arg2 int) uint

C function: __builtin_object_size

func KMIDIDriverPropertyUsesSerial

func KMIDIDriverPropertyUsesSerial() uintptr

@constant kMIDIDriverPropertyUsesSerial @discussion This constant, "MIDIDriverUsesSerial", when defined to "YES" in a driver's bundle, tells MIDIServer that the driver uses serial ports and is eligible to have serial ports assigned to it. When a serial driver's Start() method is called, it should use MIDIGetSerialPortOwner to discover which serial ports it has been assigned to use, and only use those ports. New for CoreMIDI 1.1.

func KMIDIPropertyAdvanceScheduleTimeMuSec

func KMIDIPropertyAdvanceScheduleTimeMuSec() uintptr

@constant kMIDIPropertyAdvanceScheduleTimeMuSec @discussion 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.

func KMIDIPropertyAssociatedEndpoint

func KMIDIPropertyAssociatedEndpoint() uintptr

constant kMIDIPropertyAssociatedEndpoint @discussion endpoint property, MIDIUniqueID. If this property is present, the indicated endpoint should be used for bidirectional communication purposes, (e.g. UMP Endpoint pairing or MIDI-CI devices). When setting this property on an endpoint, it should also be set on the assocated endpoint to create a bidirectional mapping. Note: This value is a MIDIUniqueID, use MIDIObjectFindByUniqueID to resolve it to a MIDIObjectRef.

func KMIDIPropertyCanRoute

func KMIDIPropertyCanRoute() uintptr

@constant kMIDIPropertyCanRoute @discussion 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.

func KMIDIPropertyConnectionUniqueID

func KMIDIPropertyConnectionUniqueID() uintptr

@constant kMIDIPropertyConnectionUniqueID @discussion 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).

func KMIDIPropertyDeviceID

func KMIDIPropertyDeviceID() uintptr

@constant kMIDIPropertyDeviceID @discussion 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.

func KMIDIPropertyDisplayName

func KMIDIPropertyDisplayName() uintptr

@constant kMIDIPropertyDisplayName @discussion 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.

func KMIDIPropertyDriverDeviceEditorApp

func KMIDIPropertyDriverDeviceEditorApp() uintptr

@constant kMIDIPropertyDriverDeviceEditorApp @discussion 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.

func KMIDIPropertyDriverOwner

func KMIDIPropertyDriverOwner() uintptr

@constant kMIDIPropertyDriverOwner @discussion 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.

func KMIDIPropertyDriverVersion

func KMIDIPropertyDriverVersion() uintptr

@constant kMIDIPropertyDriverVersion @discussion 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.

func KMIDIPropertyFactoryPatchNameFile

func KMIDIPropertyFactoryPatchNameFile() uintptr

@constant kMIDIPropertyFactoryPatchNameFile @discussion device/entity/endpoint property, CFData containing AliasHandle. An alias to the device's current factory patch name file. Added in CoreMIDI 1.1 (Mac OS X 10.1). DEPRECATED as of CoreMIDI 1.3. Use kMIDIPropertyNameConfiguration instead. Deprecated: since macOS 10.2.

func KMIDIPropertyImage

func KMIDIPropertyImage() uintptr

@constant kMIDIPropertyImage @discussion 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.

func KMIDIPropertyIsBroadcast

func KMIDIPropertyIsBroadcast() uintptr

@constant kMIDIPropertyIsBroadcast @discussion 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.

func KMIDIPropertyIsDrumMachine

func KMIDIPropertyIsDrumMachine() uintptr

@constant kMIDIPropertyIsDrumMachine @discussion 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).

func KMIDIPropertyIsEffectUnit

func KMIDIPropertyIsEffectUnit() uintptr

@constant kMIDIPropertyIsEffectUnit @discussion 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).

func KMIDIPropertyIsEmbeddedEntity

func KMIDIPropertyIsEmbeddedEntity() uintptr

@constant kMIDIPropertyIsEmbeddedEntity @discussion entity/endpoint property, integer 0 if there are external MIDI connectors, 1 if not.

func KMIDIPropertyIsMixer

func KMIDIPropertyIsMixer() uintptr

@constant kMIDIPropertyIsMixer @discussion device/entity property, integer (0/1). Indicates whether the device or entity mixes external audio signals, controlled by MIDI messages.

func KMIDIPropertyIsSampler

func KMIDIPropertyIsSampler() uintptr

@constant kMIDIPropertyIsSampler @discussion device/entity property, integer (0/1). Indicates whether the device or entity plays audio samples in response to MIDI note messages.

func KMIDIPropertyManufacturer

func KMIDIPropertyManufacturer() uintptr

@constant kMIDIPropertyManufacturer @discussion 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.

func KMIDIPropertyMaxReceiveChannels

func KMIDIPropertyMaxReceiveChannels() uintptr

@constant kMIDIPropertyMaxReceiveChannels @discussion 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".

func KMIDIPropertyMaxSysExSpeed

func KMIDIPropertyMaxSysExSpeed() uintptr

@constant kMIDIPropertyMaxSysExSpeed @discussion 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)

func KMIDIPropertyMaxTransmitChannels

func KMIDIPropertyMaxTransmitChannels() uintptr

@constant kMIDIPropertyMaxTransmitChannels @discussion 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.

func KMIDIPropertyModel

func KMIDIPropertyModel() uintptr

@constant kMIDIPropertyModel @discussion 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.

func KMIDIPropertyName

func KMIDIPropertyName() uintptr

@constant kMIDIPropertyName @discussion 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.

func KMIDIPropertyNameConfiguration

func KMIDIPropertyNameConfiguration() uintptr

@constant kMIDIPropertyNameConfiguration @discussion 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. Deprecated: since macOS 10.15.

func KMIDIPropertyNameConfigurationDictionary

func KMIDIPropertyNameConfigurationDictionary() uintptr

@constant kMIDIPropertyNameConfigurationDictionary @discussion 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.

func KMIDIPropertyOffline

func KMIDIPropertyOffline() uintptr

@constant kMIDIPropertyOffline @discussion 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.

func KMIDIPropertyPanDisruptsStereo

func KMIDIPropertyPanDisruptsStereo() uintptr

@constant kMIDIPropertyPanDisruptsStereo @discussion 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).

func KMIDIPropertyPrivate

func KMIDIPropertyPrivate() uintptr

@constant kMIDIPropertyPrivate @discussion 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.

func KMIDIPropertyProtocolID

func KMIDIPropertyProtocolID() uintptr

constant kMIDIPropertyProtocolID @discussion device/entity/endpoint property (UMP-native), 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.

func KMIDIPropertyReceiveChannels

func KMIDIPropertyReceiveChannels() uintptr

@constant kMIDIPropertyReceiveChannels @discussion 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.

func KMIDIPropertyReceivesBankSelectLSB

func KMIDIPropertyReceivesBankSelectLSB() uintptr

@constant kMIDIPropertyReceivesBankSelectLSB @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI bank select LSB messages (control 32).

func KMIDIPropertyReceivesBankSelectMSB

func KMIDIPropertyReceivesBankSelectMSB() uintptr

@constant kMIDIPropertyReceivesBankSelectMSB @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI bank select MSB messages (control 0).

func KMIDIPropertyReceivesClock

func KMIDIPropertyReceivesClock() uintptr

@constant kMIDIPropertyReceivesClock @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI beat clock messages.

func KMIDIPropertyReceivesMTC

func KMIDIPropertyReceivesMTC() uintptr

@constant kMIDIPropertyReceivesMTC @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI Time Code messages.

func KMIDIPropertyReceivesNotes

func KMIDIPropertyReceivesNotes() uintptr

@constant kMIDIPropertyReceivesNotes @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI Note On messages.

func KMIDIPropertyReceivesProgramChanges

func KMIDIPropertyReceivesProgramChanges() uintptr

@constant kMIDIPropertyReceivesProgramChanges @discussion device/entity property, integer (0/1). Indicates whether the device or entity responds to MIDI program change messages.

func KMIDIPropertySingleRealtimeEntity

func KMIDIPropertySingleRealtimeEntity() uintptr

@constant kMIDIPropertySingleRealtimeEntity @discussion 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.

func KMIDIPropertySupportsGeneralMIDI

func KMIDIPropertySupportsGeneralMIDI() uintptr

@constant kMIDIPropertySupportsGeneralMIDI @discussion device/entity property, integer (0/1). Indicates whether the device or entity implements the General MIDI specification.

func KMIDIPropertySupportsMMC

func KMIDIPropertySupportsMMC() uintptr

@constant kMIDIPropertySupportsMMC @discussion device/entity property, integer (0/1). Indicates whether the device or entity implements the MIDI Machine Control portion of the MIDI specification.

func KMIDIPropertySupportsShowControl

func KMIDIPropertySupportsShowControl() uintptr

@constant kMIDIPropertySupportsShowControl @discussion device/entity property, integer (0/1). Indicates whether the device implements the MIDI Show Control specification.

func KMIDIPropertyTransmitChannels

func KMIDIPropertyTransmitChannels() uintptr

@constant kMIDIPropertyTransmitChannels @discussion 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.

func KMIDIPropertyTransmitsBankSelectLSB

func KMIDIPropertyTransmitsBankSelectLSB() uintptr

@constant kMIDIPropertyTransmitsBankSelectLSB @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI bank select LSB messages (control 32).

func KMIDIPropertyTransmitsBankSelectMSB

func KMIDIPropertyTransmitsBankSelectMSB() uintptr

@constant kMIDIPropertyTransmitsBankSelectMSB @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI bank select MSB messages (control 0).

func KMIDIPropertyTransmitsClock

func KMIDIPropertyTransmitsClock() uintptr

@constant kMIDIPropertyTransmitsClock @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI beat clock messages.

func KMIDIPropertyTransmitsMTC

func KMIDIPropertyTransmitsMTC() uintptr

@constant kMIDIPropertyTransmitsMTC @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI Time Code messages.

func KMIDIPropertyTransmitsNotes

func KMIDIPropertyTransmitsNotes() uintptr

@constant kMIDIPropertyTransmitsNotes @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI note messages.

func KMIDIPropertyTransmitsProgramChanges

func KMIDIPropertyTransmitsProgramChanges() uintptr

@constant kMIDIPropertyTransmitsProgramChanges @discussion device/entity property, integer (0/1). Indicates whether the device or entity transmits MIDI program change messages.

func KMIDIPropertyUMPActiveGroupBitmap

func KMIDIPropertyUMPActiveGroupBitmap() uintptr

constant kMIDIPropertyUMPActiveGroupBitmap @discussion entity and endpoint property (UMP-native), 16-bit unsigned integer. If present, describes which groups are currently active and available for message transmission. The most significant bit represents group 16, and the least significant bit represents group 1. If a driver sets this property on a UMP-native endpoint provided for legacy MIDI 1.0 compatibility, only a single bit of the bitfield may be used. As a convenience, MIDI messages sent to a driver- created destination provided for legacy MIDI 1.0 compatibility will have all messages converted to the supported group prior to delivery. Any UMP-native endpoint lacking this property and subsequently defined property kMIDIPropertyCanTransmitGroupless is assumed to handle/transmit all UMP traffic.

func KMIDIPropertyUMPCanTransmitGroupless

func KMIDIPropertyUMPCanTransmitGroupless() uintptr

constant kMIDIPropertyUMPCanTransmitGroupless @discussion entity and endpoint property (UMP-native), integer. If this property is present and set to 1, the referenced MIDI object is or has (an) endpoint/endpoints capable of transmitting UMP messages with no group (e.g., message type 0 and message type F).

func KMIDIPropertyUniqueID

func KMIDIPropertyUniqueID() uintptr

@constant kMIDIPropertyUniqueID @discussion 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.

func KMIDIPropertyUserPatchNameFile

func KMIDIPropertyUserPatchNameFile() uintptr

@constant kMIDIPropertyUserPatchNameFile @discussion device/entity/endpoint property, CFData containing AliasHandle An alias to the device's current user patch name file. Added in CoreMIDI 1.1 (Mac OS X 10.1). DEPRECATED as of CoreMIDI 1.3. Use kMIDIPropertyNameConfiguration instead. Deprecated: since macOS 10.2.

func MIDI1UPChannelPressure

func MIDI1UPChannelPressure(group uint8, channel uint8, value uint8) uint

func MIDI1UPChannelVoiceMessage

func MIDI1UPChannelVoiceMessage(group uint8, status uint8, channel uint8, data1 uint8, data2 uint8) uint

func MIDI1UPControlChange

func MIDI1UPControlChange(group uint8, channel uint8, index uint8, data uint8) uint

func MIDI1UPNoteOff

func MIDI1UPNoteOff(group uint8, channel uint8, noteNumber uint8, velocity uint8) uint

func MIDI1UPNoteOn

func MIDI1UPNoteOn(group uint8, channel uint8, noteNumber uint8, velocity uint8) uint

func MIDI1UPPitchBend

func MIDI1UPPitchBend(group uint8, channel uint8, lsb uint8, msb uint8) uint

func MIDI1UPPolyPressure

func MIDI1UPPolyPressure(group uint8, channel uint8, noteNumber uint8, pressure uint8) uint

func MIDI1UPProgramChange

func MIDI1UPProgramChange(group uint8, channel uint8, program uint8) uint

func MIDI1UPSystemCommon

func MIDI1UPSystemCommon(group uint8, status uint8, byte1 uint8, byte2 uint8) uint

func MIDIBluetoothDriverActivateAllConnections

func MIDIBluetoothDriverActivateAllConnections() int

func MIDIBluetoothDriverDisconnect

func MIDIBluetoothDriverDisconnect(uuid unsafe.Pointer) int

func MIDICIDeviceObjectKey

func MIDICIDeviceObjectKey() uintptr

@constant MIDICIDeviceObjectKey @brief Value is an MIDIUMPEndpoint.

func MIDICIDeviceWasAddedNotification

func MIDICIDeviceWasAddedNotification() uintptr

@constant MIDICIDeviceWasAddedNotification @brief A notification posted when a MIDI-CI Device has been added to the subsystem. @discussion The userInfo dictionary will contain a MIDICIDeviceObjectKey with the MIDI-CI Device which has been added to the subsystem.

func MIDICIDeviceWasRemovedNotification

func MIDICIDeviceWasRemovedNotification() uintptr

@constant MIDICIDeviceWasRemovedNotification @brief A notification posted when a MIDI-CI Device has been removed or has had its MUID invalidated. @discussion Any previously discovered MIDICIDevice that fails to respond to a discovery message will be removed. The userInfo dictionary will contain a MIDICIDeviceObjectKey with the MIDI-CI Device which has been removed or has had its MUID invalidated.

func MIDICIProfileObjectKey

func MIDICIProfileObjectKey() uintptr

@constant MIDICIProfileObjectKey @brief Value is an MIDIUMPCIProfile

func MIDICIProfileWasRemovedNotification

func MIDICIProfileWasRemovedNotification() uintptr

@constant MIDICIProfileWasRemovedNotification @brief A notification posted when a MIDI-CI Device has been removed. @discussion The userInfo dictionary will contain a MIDICIDeviceObjectKey and MIDICIProfileObjectKey with the MIDICIDevice and MIDI-CI Profile which has been removed.

func MIDICIProfileWasUpdatedNotification

func MIDICIProfileWasUpdatedNotification() uintptr

@constant MIDICIProfileWasUpdatedNotification @brief A notification posted when a MIDI-CI Device has been enabled/disabled or updated. @discussion The userInfo dictionary will contain a MIDICIDeviceObjectKey and MIDICIProfileObjectKey with the MIDICIDevice and MIDI-CI Profile which was recently enabled or disabled.

func MIDIClientCreate

func MIDIClientCreate(name unsafe.Pointer, notifyProc unsafe.Pointer, notifyRefCon unsafe.Pointer, outClient *uint) int

func MIDIClientCreateWithBlock

func MIDIClientCreateWithBlock(name unsafe.Pointer, outClient *uint, notifyBlock func(*MIDINotification)) int

func MIDIClientDispose

func MIDIClientDispose(client uint) int

func MIDIDeltaClockstampTicksPerQuarterNoteMessage

func MIDIDeltaClockstampTicksPerQuarterNoteMessage(ticksPerQuarterNote uint16) uint

func MIDIDestinationCreate

func MIDIDestinationCreate(client uint, name unsafe.Pointer, readProc unsafe.Pointer, refCon unsafe.Pointer, outDest *uint) int

func MIDIDestinationCreateWithBlock

func MIDIDestinationCreateWithBlock(client uint, name unsafe.Pointer, outDest *uint, readBlock func(*MIDIPacketList, unsafe.Pointer)) int

func MIDIDestinationCreateWithProtocol

func MIDIDestinationCreateWithProtocol(client uint, name unsafe.Pointer, protocol MIDIProtocolID, outDest *uint, readBlock func(*MIDIEventList, unsafe.Pointer)) int

func MIDIDeviceAddEntity deprecated

func MIDIDeviceAddEntity(device uint, name unsafe.Pointer, embedded uint8, numSourceEndpoints uint, numDestinationEndpoints uint, newEntity *uint) int

Deprecated: since macOS API_TO_BE_DEPRECATED.

func MIDIDeviceCreate

func MIDIDeviceCreate(owner *MIDIDriverInterface, name unsafe.Pointer, manufacturer unsafe.Pointer, model unsafe.Pointer, outDevice *uint) int

@function MIDIDeviceCreate @discussion 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. @param owner The driver creating the device. NULL if a non-driver. @param name The name of the new device. @param manufacturer The name of the device's manufacturer. @param model The device's model name. @param outDevice On successful return, points to the newly-created device. @result An OSStatus result code.

func MIDIDeviceDispose

func MIDIDeviceDispose(device uint) int

@function MIDIDeviceDispose @discussion 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. @param device The device to be disposed. @result An OSStatus result code.

func MIDIDeviceGetEntity

func MIDIDeviceGetEntity(device uint, entityIndex0 uint) uint

func MIDIDeviceGetNumberOfEntities

func MIDIDeviceGetNumberOfEntities(device uint) uint

func MIDIDeviceListAddDevice

func MIDIDeviceListAddDevice(devList uint, dev uint) int

@function MIDIDeviceListAddDevice @discussion Add a device to a device list. @param devList The device list. @param dev The device to add to the list. @result An OSStatus result code.

func MIDIDeviceListDispose

func MIDIDeviceListDispose(devList uint) int

@function MIDIDeviceListDispose @discussion Dispose a device list, but not the contained devices. @param devList The device list to be disposed. @result An OSStatus result code.

func MIDIDeviceListGetDevice

func MIDIDeviceListGetDevice(devList uint, index0 uint) uint

@function MIDIDeviceListGetDevice @discussion Return one of the devices in a device list. @param devList The device list. @param index0 The index (0...MIDIDeviceListGetNumberOfDevices()-1) of the device to return. @result A reference to a device, or NULL if an error occurred.

func MIDIDeviceListGetNumberOfDevices

func MIDIDeviceListGetNumberOfDevices(devList uint) uint

@function MIDIDeviceListGetNumberOfDevices @discussion Returns the number of devices in a device list. @param devList The device list. @result The number of devices in the list, or 0 if an error occurred.

func MIDIDeviceNewEntity

func MIDIDeviceNewEntity(device uint, name unsafe.Pointer, protocol MIDIProtocolID, embedded uint8, numSourceEndpoints uint, numDestinationEndpoints uint, newEntity *uint) int

func MIDIDeviceRemoveEntity

func MIDIDeviceRemoveEntity(device uint, entity uint) int

func MIDIDriverEnableMonitoring

func MIDIDriverEnableMonitoring(driver *MIDIDriverInterface, enabled uint8) int

@function MIDIDriverEnableMonitoring @discussion A driver may make this call to have MIDIServer pass it every outgoing MIDI packet, to all destinations in the system (not just those controlled by itself). @param driver The driver whose Monitor function is to be enabled. @param enabled true to enable monitoring, false to disable it. @result An OSStatus result code.

func MIDIEndpointDispose

func MIDIEndpointDispose(endpt uint) int

func MIDIEndpointGetEntity

func MIDIEndpointGetEntity(inEndpoint uint, outEntity *uint) int

func MIDIEndpointGetRefCons

func MIDIEndpointGetRefCons(endpt uint, ref1 unsafe.Pointer, ref2 unsafe.Pointer) int

@function MIDIEndpointGetRefCons @discussion Obtain the refCons assigned to the endpoints @param endpt The endpoint whose refCons are to be return @param ref1 On exit, the first refCon. @param ref2 On exit, the second refCon. @result An OSStatus result code.

func MIDIEndpointSetRefCons

func MIDIEndpointSetRefCons(endpt uint, ref1 unsafe.Pointer, ref2 unsafe.Pointer) int

@function MIDIEndpointSetRefCons @discussion 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. @param endpt The endpoint whose refCons are to be set @param ref1 The first refCon. @param ref2 The second refCon. @result An OSStatus result code.

func MIDIEntityAddOrRemoveEndpoints

func MIDIEntityAddOrRemoveEndpoints(entity uint, numSourceEndpoints uint, numDestinationEndpoints uint) int

func MIDIEntityGetDestination

func MIDIEntityGetDestination(entity uint, destIndex0 uint) uint

func MIDIEntityGetDevice

func MIDIEntityGetDevice(inEntity uint, outDevice *uint) int

func MIDIEntityGetNumberOfDestinations

func MIDIEntityGetNumberOfDestinations(entity uint) uint

func MIDIEntityGetNumberOfSources

func MIDIEntityGetNumberOfSources(entity uint) uint

func MIDIEntityGetSource

func MIDIEntityGetSource(entity uint, sourceIndex0 uint) uint

func MIDIEventListForEachEvent

func MIDIEventListForEachEvent(evtlist *MIDIEventList, visitor unsafe.Pointer, visitorContext unsafe.Pointer)

@typedef MIDIEventListForEachEvent @abstract Parses UMPs from a MIDIEventList. @discussion MIDIEventListForEachEvent iterates over all UMPs in the provided MIDIEventList. It parses each UMP and fills a MIDIUniversalMessage struct. It calls the provided visitor on each of these UMPs. In case of an unknown UMP the raw UMP words will be provided. @param evtlist The MIDIEventList which is to be parsed. @param visitor The visitor that is called on each UMP in evtlist. @param visitorContext A context for the visitor that is passed to it when being called.

func MIDIEventPacketSysexBytesForGroup

func MIDIEventPacketSysexBytesForGroup(pkt *MIDIEventPacket, groupIndex uint8, outData unsafe.Pointer) int

func MIDIExternalDeviceCreate

func MIDIExternalDeviceCreate(name unsafe.Pointer, manufacturer unsafe.Pointer, model unsafe.Pointer, outDevice *uint) int

func MIDIFlushOutput

func MIDIFlushOutput(dest uint) int

func MIDIGetDestination

func MIDIGetDestination(destIndex0 uint) uint

func MIDIGetDevice

func MIDIGetDevice(deviceIndex0 uint) uint

func MIDIGetDriverDeviceList

func MIDIGetDriverDeviceList(driver *MIDIDriverInterface) uint

@function MIDIGetDriverDeviceList @discussion 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. @param driver The driver whose devices are to be returned. @result The requested device list.

func MIDIGetDriverIORunLoop

func MIDIGetDriverIORunLoop() unsafe.Pointer

@function MIDIGetDriverIORunLoop @discussion 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. @result The CFRunLoopRef of the server's driver I/O thread.

func MIDIGetExternalDevice

func MIDIGetExternalDevice(deviceIndex0 uint) uint

func MIDIGetNumberOfDestinations

func MIDIGetNumberOfDestinations() uint

func MIDIGetNumberOfDevices

func MIDIGetNumberOfDevices() uint

func MIDIGetNumberOfExternalDevices

func MIDIGetNumberOfExternalDevices() uint

func MIDIGetNumberOfSources

func MIDIGetNumberOfSources() uint

func MIDIGetSerialPortDrivers deprecated

func MIDIGetSerialPortDrivers(outDriverNames unsafe.Pointer) int

Deprecated: No longer supported

func MIDIGetSerialPortOwner deprecated

func MIDIGetSerialPortOwner(portName unsafe.Pointer, outDriverName unsafe.Pointer) int

Deprecated: No longer supported

func MIDIGetSource

func MIDIGetSource(sourceIndex0 uint) uint

func MIDIInputPortCreate

func MIDIInputPortCreate(client uint, portName unsafe.Pointer, readProc unsafe.Pointer, refCon unsafe.Pointer, outPort *uint) int

func MIDIInputPortCreateWithBlock

func MIDIInputPortCreateWithBlock(client uint, portName unsafe.Pointer, outPort *uint, readBlock func(*MIDIPacketList, unsafe.Pointer)) int

func MIDIInputPortCreateWithProtocol

func MIDIInputPortCreateWithProtocol(client uint, portName unsafe.Pointer, protocol MIDIProtocolID, outPort *uint, receiveBlock func(*MIDIEventList, unsafe.Pointer)) int

func MIDIJitterReductionClockMessage

func MIDIJitterReductionClockMessage(senderClockTime uint16) uint

func MIDIJitterReductionTimestampMessage

func MIDIJitterReductionTimestampMessage(senderClockTimestamp uint16) uint

func MIDINetworkBonjourServiceType

func MIDINetworkBonjourServiceType() *foundation.NSString

func MIDINetworkNotificationContactsDidChange

func MIDINetworkNotificationContactsDidChange() *foundation.NSString

func MIDINetworkNotificationSessionDidChange

func MIDINetworkNotificationSessionDidChange() *foundation.NSString

func MIDINoOpMessage

func MIDINoOpMessage() uint

func MIDIObjectFindByUniqueID

func MIDIObjectFindByUniqueID(inUniqueID int, outObject *uint, outObjectType *MIDIObjectType) int

func MIDIObjectGetDataProperty

func MIDIObjectGetDataProperty(obj uint, propertyID unsafe.Pointer, outData unsafe.Pointer) int

func MIDIObjectGetDictionaryProperty

func MIDIObjectGetDictionaryProperty(obj uint, propertyID unsafe.Pointer, outDict unsafe.Pointer) int

func MIDIObjectGetIntegerProperty

func MIDIObjectGetIntegerProperty(obj uint, propertyID unsafe.Pointer, outValue *int) int

func MIDIObjectGetProperties

func MIDIObjectGetProperties(obj uint, outProperties unsafe.Pointer, deep uint8) int

func MIDIObjectGetStringProperty

func MIDIObjectGetStringProperty(obj uint, propertyID unsafe.Pointer, str unsafe.Pointer) int

func MIDIObjectRemoveProperty

func MIDIObjectRemoveProperty(obj uint, propertyID unsafe.Pointer) int

func MIDIObjectSetDataProperty

func MIDIObjectSetDataProperty(obj uint, propertyID unsafe.Pointer, data unsafe.Pointer) int

func MIDIObjectSetDictionaryProperty

func MIDIObjectSetDictionaryProperty(obj uint, propertyID unsafe.Pointer, dict unsafe.Pointer) int

func MIDIObjectSetIntegerProperty

func MIDIObjectSetIntegerProperty(obj uint, propertyID unsafe.Pointer, value int) int

func MIDIObjectSetStringProperty

func MIDIObjectSetStringProperty(obj uint, propertyID unsafe.Pointer, str unsafe.Pointer) int

func MIDIOutputPortCreate

func MIDIOutputPortCreate(client uint, portName unsafe.Pointer, outPort *uint) int

func MIDIPortConnectSource

func MIDIPortConnectSource(port uint, source uint, connRefCon unsafe.Pointer) int

func MIDIPortDisconnectSource

func MIDIPortDisconnectSource(port uint, source uint) int

func MIDIPortDispose

func MIDIPortDispose(port uint) int

func MIDIReceived

func MIDIReceived(src uint, pktlist *MIDIPacketList) int

func MIDIReceivedEventList

func MIDIReceivedEventList(src uint, evtlist *MIDIEventList) int

func MIDIRestart

func MIDIRestart() int

func MIDISend

func MIDISend(port uint, dest uint, pktlist *MIDIPacketList) int

func MIDISendEventList

func MIDISendEventList(port uint, dest uint, evtlist *MIDIEventList) int

func MIDISendSysex

func MIDISendSysex(request *MIDISysexSendRequest) int

func MIDISendUMPSysex

func MIDISendUMPSysex(umpRequest *MIDISysexSendRequestUMP) int

func MIDISendUMPSysex8

func MIDISendUMPSysex8(umpRequest *MIDISysexSendRequestUMP) int

func MIDISetSerialPortOwner deprecated

func MIDISetSerialPortOwner(portName unsafe.Pointer, driverName unsafe.Pointer) int

Deprecated: No longer supported

func MIDISetupAddDevice

func MIDISetupAddDevice(device uint) int

func MIDISetupAddExternalDevice

func MIDISetupAddExternalDevice(device uint) int

func MIDISetupCreate deprecated

func MIDISetupCreate(outSetup *uint) int

Deprecated: No longer supported

func MIDISetupDispose deprecated

func MIDISetupDispose(setup uint) int

Deprecated: No longer supported

func MIDISetupFromData deprecated

func MIDISetupFromData(data unsafe.Pointer, outSetup *uint) int

Deprecated: No longer supported

func MIDISetupGetCurrent deprecated

func MIDISetupGetCurrent(outSetup *uint) int

Deprecated: No longer supported

func MIDISetupInstall deprecated

func MIDISetupInstall(setup uint) int

Deprecated: No longer supported

func MIDISetupRemoveDevice

func MIDISetupRemoveDevice(device uint) int

func MIDISetupRemoveExternalDevice

func MIDISetupRemoveExternalDevice(device uint) int

func MIDISetupToData deprecated

func MIDISetupToData(setup uint, outData unsafe.Pointer) int

Deprecated: No longer supported

func MIDISourceCreate

func MIDISourceCreate(client uint, name unsafe.Pointer, outSrc *uint) int

func MIDISourceCreateWithProtocol

func MIDISourceCreateWithProtocol(client uint, name unsafe.Pointer, protocol MIDIProtocolID, outSrc *uint) int

func MIDIThruConnectionCreate

func MIDIThruConnectionCreate(inPersistentOwnerID unsafe.Pointer, inConnectionParams unsafe.Pointer, outConnection *uint) int

func MIDIThruConnectionDispose

func MIDIThruConnectionDispose(connection uint) int

func MIDIThruConnectionFind

func MIDIThruConnectionFind(inPersistentOwnerID unsafe.Pointer, outConnectionList unsafe.Pointer) int

func MIDIThruConnectionGetParams

func MIDIThruConnectionGetParams(connection uint, outConnectionParams unsafe.Pointer) int

func MIDIThruConnectionParamsInitialize

func MIDIThruConnectionParamsInitialize(inConnectionParams *MIDIThruConnectionParams)

func MIDIThruConnectionParamsSize

func MIDIThruConnectionParamsSize(ptr *MIDIThruConnectionParams) uint

@defined MIDIThruConnectionParamsSize @abstract Returns the size of a MIDIThruConnectionParams. Accounts for the variable-length elements in the structure and returns its true size in bytes.

func MIDIThruConnectionSetParams

func MIDIThruConnectionSetParams(connection uint, inConnectionParams unsafe.Pointer) int

func MIDITicksSinceLastEventMessage

func MIDITicksSinceLastEventMessage(ticksSinceLastEvent uint) uint

func MIDIUMPEndpointObjectKey

func MIDIUMPEndpointObjectKey() uintptr

@constant MIDIUMPEndpointObjectKey @brief Value is a MIDIUMPEndpoint

func MIDIUMPEndpointWasAddedNotification

func MIDIUMPEndpointWasAddedNotification() uintptr

@constant MIDIUMPEndpointWasAddedNotification @brief A notification posted when a MIDI UMP Endpoint has been added to the subsystem. @discussion The MIDIUMPEndpoint sent in userInfo is the endpoint which was recently discovered.

func MIDIUMPEndpointWasRemovedNotification

func MIDIUMPEndpointWasRemovedNotification() uintptr

@constant MIDIUMPEndpointWasRemovedNotification @brief A notification posted when a MIDI UMP Endpoint has been removed from the subsystem. @discussion Any MIDIUMPEndpoint sent with this notification is no longer available to the system. Any attempt to perform I/O with its source or destination may fail, as the MIDIEndpointRef associated with the UMP endpoint may no longer be valid. If this notification is posted, any resources related to communication with this UMP endpoint may be safely disposed.

func MIDIUMPEndpointWasUpdatedNotification

func MIDIUMPEndpointWasUpdatedNotification() uintptr

@constant MIDIUMPEndpointWasUpdatedNotification @brief A notification posted when an UMP endpoint updates its stream configuration or changes the state of one of its Function Blocks. @discussion If this notification is posted, an Endpoint Info Notification was sent from the UMP endpoint in userInfo.

func MIDIUMPFunctionBlockObjectKey

func MIDIUMPFunctionBlockObjectKey() uintptr

@constant MIDIUMPFunctionBlockObjectKey @brief Value is a MIDIUMPFunctionBlock

func MIDIUMPFunctionBlockWasUpdatedNotification

func MIDIUMPFunctionBlockWasUpdatedNotification() uintptr

@constant MIDIUMPFunctionBlockWasUpdatedNotification @brief A notification posted when a Function Block is updated. @discussion If this notification is posted, the supplied Function Block in userInfo has had a change to its enabled state, Group configuration, UI hint, MIDI 1.0 status, etc..

func SymbolAvailable

func SymbolAvailable(symbol string) bool

SymbolAvailable reports whether the named C symbol was bound when the library loaded. Calling a generated wrapper whose symbol is unavailable dereferences a nil function variable and panics.

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type MIDI2DeviceInfo

type MIDI2DeviceInfo struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midi2deviceinfo

func MIDI2DeviceInfoFromID

func MIDI2DeviceInfoFromID(id objc.ID) *MIDI2DeviceInfo

func (*MIDI2DeviceInfo) Family

func (o *MIDI2DeviceInfo) Family() uint16

@property family @brief The family of models to which the device belongs, up to 14 bits.

func (*MIDI2DeviceInfo) InitWithManufacturerIDFamilyModelNumberRevisionLevel

func (o *MIDI2DeviceInfo) InitWithManufacturerIDFamilyModelNumberRevisionLevel(manufacturerID MIDI2DeviceManufacturer, family uint16, modelNumber uint16, revisionLevel MIDI2DeviceRevisionLevel) *MIDI2DeviceInfo

@method initWithManufacturerID:family:modelNumber:revisionLevel: @brief The initializer for constructing the MIDI2DeviceInfo object. @param manufacturerID The 3-Byte manufacturer System Exclusive ID. @param family The 14-bit device family. @param modelNumber The 14-bit model number. @param revisionLevel The 4-Byte revision level. @discussion Provided values for family or modelNumber must be within their expected bit range. For example, if modelNumber is outside of the range of a 14-bit number.

func (*MIDI2DeviceInfo) ManufacturerID

func (o *MIDI2DeviceInfo) ManufacturerID() MIDI2DeviceManufacturer

@property manufacturerID @brief The MIDI System Exclusive ID of the device manufacturer, up to 3-Bytes. @discussion One-byte SysEx IDs use only the least significant byte (e.g., Apple's System Exclusive ID, 0x11).

func (*MIDI2DeviceInfo) ModelNumber

func (o *MIDI2DeviceInfo) ModelNumber() uint16

@property modelNumber @brief The specific model from the device manufacturer, up to 14 bits.

func (*MIDI2DeviceInfo) RevisionLevel

func (o *MIDI2DeviceInfo) RevisionLevel() MIDI2DeviceRevisionLevel

@property revisionLevel @brief The version number of a device model number.

type MIDI2DeviceManufacturer

type MIDI2DeviceManufacturer struct {
	SysExIDByte [3]uint8
}

type MIDI2DeviceRevisionLevel

type MIDI2DeviceRevisionLevel struct {
	RevisionLevel [4]uint8
}

type MIDICICategoryOptions

type MIDICICategoryOptions int64
const (
	KMIDICICategoryOptionsProtocolNegotiation           MIDICICategoryOptions = 2
	KMIDICICategoryOptionsProfileConfigurationSupported MIDICICategoryOptions = 4
	KMIDICICategoryOptionsPropertyExchangeSupported     MIDICICategoryOptions = 8
	KMIDICICategoryOptionsProcessInquirySupported       MIDICICategoryOptions = 16
)

func (MIDICICategoryOptions) String

func (e MIDICICategoryOptions) String() string

type MIDICIDevice

type MIDICIDevice struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midicidevice

func MIDICIDeviceFromID

func MIDICIDeviceFromID(id objc.ID) *MIDICIDevice

func (*MIDICIDevice) DeviceInfo

func (o *MIDICIDevice) DeviceInfo() *MIDI2DeviceInfo

@property deviceInfo @brief The basic information describing the CI device.

func (*MIDICIDevice) DeviceType

func (o *MIDICIDevice) DeviceType() MIDICIDeviceType

@property deviceType @brief The type of MIDI-CI device.

func (*MIDICIDevice) MUID

func (o *MIDICIDevice) MUID() uint

@property MUID @brief The MIDI unique identifier (MUID) assigned to the CI device.

func (*MIDICIDevice) MaxPropertyExchangeRequests

func (o *MIDICIDevice) MaxPropertyExchangeRequests() uint

@property maxPropertyExchangeRequests @brief The maximum number of simultaneous Property Exchange requests, if supported.

func (*MIDICIDevice) MaxSysExSize

func (o *MIDICIDevice) MaxSysExSize() uint

@property maxSysExSize @brief The maximum receivable MIDI System Exclusive size for this CI device.

func (*MIDICIDevice) Profiles

@property profiles @brief The MIDI-CI Profiles that are registered to the Function Block.

func (*MIDICIDevice) SupportsProcessInquiry

func (o *MIDICIDevice) SupportsProcessInquiry() bool

@property supportsProcessInquiry @brief MIDI-CI Process Inquiry capability.

func (*MIDICIDevice) SupportsProfileConfiguration

func (o *MIDICIDevice) SupportsProfileConfiguration() bool

@property supportsProfileConfiguration @brief MIDI-CI Profile Configuration capability.

func (*MIDICIDevice) SupportsPropertyExchange

func (o *MIDICIDevice) SupportsPropertyExchange() bool

@property supportsPropertyExchange @brief MIDI-CI Property Exchange capability.

func (*MIDICIDevice) SupportsProtocolNegotiation

func (o *MIDICIDevice) SupportsProtocolNegotiation() bool

@property supportsProtocolNegotiation @brief MIDI-CI Protocol Negotiation capability.

type MIDICIDeviceIdentification

type MIDICIDeviceIdentification struct {
	Manufacturer  [3]uint8
	Family        [2]uint8
	ModelNumber   [2]uint8
	RevisionLevel [4]uint8
	Reserved      [5]uint8
}

A structure that describes a MIDI-CI device.

type MIDICIDeviceInfo

type MIDICIDeviceInfo struct {
	foundation.NSObject
}

An object that provides basic information about a MIDI-CI device.

Apple documentation: https://developer.apple.com/documentation/coremidi/midicideviceinfo

func MIDICIDeviceInfoFromID

func MIDICIDeviceInfoFromID(id objc.ID) *MIDICIDeviceInfo

func (*MIDICIDeviceInfo) Family

func (o *MIDICIDeviceInfo) Family() *foundation.NSData

func (*MIDICIDeviceInfo) InitWithDestinationManufacturerFamilyModelRevision

func (o *MIDICIDeviceInfo) InitWithDestinationManufacturerFamilyModelRevision(midiDestination uint, manufacturer *foundation.NSData, family *foundation.NSData, modelNumber *foundation.NSData, revisionLevel *foundation.NSData) *MIDICIDeviceInfo

Creates a new device information instance.

func (*MIDICIDeviceInfo) ManufacturerID

func (o *MIDICIDeviceInfo) ManufacturerID() *foundation.NSData

func (*MIDICIDeviceInfo) MidiDestination

func (o *MIDICIDeviceInfo) MidiDestination() uint

func (*MIDICIDeviceInfo) ModelNumber

func (o *MIDICIDeviceInfo) ModelNumber() *foundation.NSData

func (*MIDICIDeviceInfo) RevisionLevel

func (o *MIDICIDeviceInfo) RevisionLevel() *foundation.NSData

type MIDICIDeviceManager

type MIDICIDeviceManager struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midicidevicemanager

func MIDICIDeviceManagerFromID

func MIDICIDeviceManagerFromID(id objc.ID) *MIDICIDeviceManager

func MIDICIDeviceManagerSharedInstance

func MIDICIDeviceManagerSharedInstance() *MIDICIDeviceManager

@property sharedInstance @brief Retrieve the shared MIDI-CI device manager for the client process. @discussion After the first access of the property, the client process may observe notifications which are posted when the system-wide cache changes. In environments where virtual MIDI endpoint creation is not allowed, callbacks are only invoked when the process is not suspended. However, any suspended process will receive an updated copy of the cache when it resumes its running state.

func (*MIDICIDeviceManager) DiscoveredCIDevices

func (o *MIDICIDeviceManager) DiscoveredCIDevices() *foundation.NSArray[*MIDICIDevice]

@property discoveredCIDevices @brief A list of MIDICIDevices that responded to the last MIDI-CI discovery request.

type MIDICIDeviceType

type MIDICIDeviceType int64
const (
	KMIDICIDeviceTypeUnknown     MIDICIDeviceType = 0
	KMIDICIDeviceTypeLegacyMIDI1 MIDICIDeviceType = 1
	KMIDICIDeviceTypeVirtual     MIDICIDeviceType = 2
	KMIDICIDeviceTypeUSBMIDI     MIDICIDeviceType = 3
)

func (MIDICIDeviceType) String

func (e MIDICIDeviceType) String() string

type MIDICIDiscoveredNode

type MIDICIDiscoveredNode struct {
	foundation.NSObject
}

A discovered MIDI-CI node that represents a MIDI source and destination that respond to capability inquiries.

Apple documentation: https://developer.apple.com/documentation/coremidi/midicidiscoverednode

func MIDICIDiscoveredNodeFromID

func MIDICIDiscoveredNodeFromID(id objc.ID) *MIDICIDiscoveredNode

func (*MIDICIDiscoveredNode) Destination

func (o *MIDICIDiscoveredNode) Destination() uint

func (*MIDICIDiscoveredNode) DeviceInfo

func (o *MIDICIDiscoveredNode) DeviceInfo() *MIDICIDeviceInfo

func (*MIDICIDiscoveredNode) MaximumSysExSize

func (o *MIDICIDiscoveredNode) MaximumSysExSize() *foundation.NSNumber

func (*MIDICIDiscoveredNode) SupportsProfiles

func (o *MIDICIDiscoveredNode) SupportsProfiles() bool

func (*MIDICIDiscoveredNode) SupportsProperties

func (o *MIDICIDiscoveredNode) SupportsProperties() bool

type MIDICIDiscoveryManager

type MIDICIDiscoveryManager struct {
	foundation.NSObject
}

A singleton object that performs systemwide MIDI-CI discovery.

Apple documentation: https://developer.apple.com/documentation/coremidi/midicidiscoverymanager

func MIDICIDiscoveryManagerFromID

func MIDICIDiscoveryManagerFromID(id objc.ID) *MIDICIDiscoveryManager

func MIDICIDiscoveryManagerSharedInstance

func MIDICIDiscoveryManagerSharedInstance() *MIDICIDiscoveryManager

Returns the singleton discovery manager instance.

func (*MIDICIDiscoveryManager) DiscoverWithHandler

func (o *MIDICIDiscoveryManager) DiscoverWithHandler(completedHandler func(*foundation.NSArray[*MIDICIDiscoveredNode]))

Discovers the available MIDI-CI nodes.

type MIDICIManagementMessageType

type MIDICIManagementMessageType int64
const (
	KMIDICIManagementMessageTypeDiscovery                  MIDICIManagementMessageType = 112
	KMIDICIManagementMessageTypeReplyToDiscovery           MIDICIManagementMessageType = 113
	KMIDICIManagementMessageTypeInquiryEndpointInformation MIDICIManagementMessageType = 114
	KMIDICIManagementMessageTypeReplyToEndpointInformation MIDICIManagementMessageType = 115
	KMIDICIManagementMessageTypeMIDICIACK                  MIDICIManagementMessageType = 125
	KMIDICIManagementMessageTypeInvalidateMUID             MIDICIManagementMessageType = 126
	KMIDICIManagementMessageTypeMIDICINAK                  MIDICIManagementMessageType = 127
)

func (MIDICIManagementMessageType) String

type MIDICIProcessInquiryMessageType

type MIDICIProcessInquiryMessageType int64
const (
	KMIDICIProcessInquiryMessageTypeInquiryProcessInquiryCapabilities MIDICIProcessInquiryMessageType = 64
	KMIDICIProcessInquiryMessageTypeReplyToProcessInquiryCapabilities MIDICIProcessInquiryMessageType = 65
	KMIDICIProcessInquiryMessageTypeInquiryMIDIMessageReport          MIDICIProcessInquiryMessageType = 66
	KMIDICIProcessInquiryMessageTypeReplyToMIDIMessageReport          MIDICIProcessInquiryMessageType = 67
	KMIDICIProcessInquiryMessageTypeEndOfMIDIMessageReport            MIDICIProcessInquiryMessageType = 68
)

func (MIDICIProcessInquiryMessageType) String

type MIDICIProfile

type MIDICIProfile struct {
	foundation.NSObject
}

A mapping of MIDI messages to specific sounds and synthesis behaviors, such as General MIDI, a drawbar organ, and so on.

Apple documentation: https://developer.apple.com/documentation/coremidi/midiciprofile

func MIDICIProfileFromID

func MIDICIProfileFromID(id objc.ID) *MIDICIProfile

func (*MIDICIProfile) InitWithData

func (o *MIDICIProfile) InitWithData(data *foundation.NSData) *MIDICIProfile

Creates a MIDI profile for the specified data.

func (*MIDICIProfile) InitWithDataName

func (o *MIDICIProfile) InitWithDataName(data *foundation.NSData, inName *foundation.NSString) *MIDICIProfile

Creates a named MIDI profile for the specified data.

func (*MIDICIProfile) Name

func (o *MIDICIProfile) Name() *foundation.NSString

An NSString describing the profile.

func (*MIDICIProfile) ProfileID

func (o *MIDICIProfile) ProfileID() *foundation.NSData

The unique 5-byte profile identifier representing the profile.

type MIDICIProfileIDManufacturerSpecific

type MIDICIProfileIDManufacturerSpecific struct {
	SysExID1 uint8
	SysExID2 uint8
	SysExID3 uint8
	Info1    uint8
	Info2    uint8
}

@struct MIDICIProfileIDManufacturerSpecific @brief A C-style struct containing a Manufacturer Specific profile ID.

type MIDICIProfileIDStandard

type MIDICIProfileIDStandard struct {
	ProfileIDByte1 uint8
	ProfileBank    uint8
	ProfileNumber  uint8
	ProfileVersion uint8
	ProfileLevel   uint8
}

@struct MIDICIProfileIDStandard @brief A C-style struct containing a standard profile ID.

type MIDICIProfileMessageType

type MIDICIProfileMessageType int64
const (
	KMIDICIProfileMessageTypeProfileInquiry        MIDICIProfileMessageType = 32
	KMIDICIProfileMessageTypeReplyToProfileInquiry MIDICIProfileMessageType = 33
	KMIDICIProfileMessageTypeSetProfileOn          MIDICIProfileMessageType = 34
	KMIDICIProfileMessageTypeSetProfileOff         MIDICIProfileMessageType = 35
	KMIDICIProfileMessageTypeProfileEnabledReport  MIDICIProfileMessageType = 36
	KMIDICIProfileMessageTypeProfileDisabledReport MIDICIProfileMessageType = 37
	KMIDICIProfileMessageTypeProfileAdded          MIDICIProfileMessageType = 38
	KMIDICIProfileMessageTypeProfileRemoved        MIDICIProfileMessageType = 39
	KMIDICIProfileMessageTypeDetailsInquiry        MIDICIProfileMessageType = 40
	KMIDICIProfileMessageTypeReplyToDetailsInquiry MIDICIProfileMessageType = 41
	KMIDICIProfileMessageTypeProfileSpecificData   MIDICIProfileMessageType = 47
)

func (MIDICIProfileMessageType) String

func (e MIDICIProfileMessageType) String() string

type MIDICIProfileResponderDelegate

type MIDICIProfileResponderDelegate interface {
	ConnectInitiatorWithDeviceInfo(initiatorMUID *foundation.NSNumber, deviceInfo *MIDICIDeviceInfo) bool
	InitiatorDisconnected(initiatorMUID *foundation.NSNumber)
}

MIDICIProfileResponderDelegate wraps the ObjC protocol MIDICIProfileResponderDelegate.

type MIDICIProfileState

type MIDICIProfileState struct {
	foundation.NSObject
}

An object that provides the enabled and disabled profiles for a MIDI channel or port on a device.

Apple documentation: https://developer.apple.com/documentation/coremidi/midiciprofilestate

func MIDICIProfileStateFromID

func MIDICIProfileStateFromID(id objc.ID) *MIDICIProfileState

func (*MIDICIProfileState) DisabledProfiles

func (o *MIDICIProfileState) DisabledProfiles() *foundation.NSArray[*MIDICIProfile]

func (*MIDICIProfileState) EnabledProfiles

func (o *MIDICIProfileState) EnabledProfiles() *foundation.NSArray[*MIDICIProfile]

func (*MIDICIProfileState) InitWithChannelEnabledProfilesDisabledProfiles

func (o *MIDICIProfileState) InitWithChannelEnabledProfilesDisabledProfiles(midiChannelNum uint8, enabled *foundation.NSArray[*MIDICIProfile], disabled *foundation.NSArray[*MIDICIProfile]) *MIDICIProfileState

Creates a new profile state object for the specified MIDI channel and profiles. Deprecated: since macOS 15.0.

func (*MIDICIProfileState) InitWithEnabledProfilesDisabledProfiles

func (o *MIDICIProfileState) InitWithEnabledProfilesDisabledProfiles(enabled *foundation.NSArray[*MIDICIProfile], disabled *foundation.NSArray[*MIDICIProfile]) *MIDICIProfileState

Creates a new profile state object for the specified profiles. Deprecated: since macOS 15.0.

func (*MIDICIProfileState) MidiChannel

func (o *MIDICIProfileState) MidiChannel() uint8

type MIDICIProfileType

type MIDICIProfileType int64
const (
	KMIDICIProfileTypeSingleChannel MIDICIProfileType = 1
	KMIDICIProfileTypeGroup         MIDICIProfileType = 2
	KMIDICIProfileTypeFunctionBlock MIDICIProfileType = 3
	KMIDICIProfileTypeMultichannel  MIDICIProfileType = 4
)

func (MIDICIProfileType) String

func (e MIDICIProfileType) String() string

type MIDICIPropertyExchangeMessageType

type MIDICIPropertyExchangeMessageType int64
const (
	KMIDICIPropertyExchangeMessageTypeInquiryPropertyExchangeCapabilities    MIDICIPropertyExchangeMessageType = 48
	KMIDICIPropertyExchangeMessageTypeReplyToPropertyExchangeCapabilities    MIDICIPropertyExchangeMessageType = 49
	KMIDICIPropertyExchangeMessageTypeInquiryHasPropertyData_Reserved        MIDICIPropertyExchangeMessageType = 50
	KMIDICIPropertyExchangeMessageTypeInquiryReplyToHasPropertyData_Reserved MIDICIPropertyExchangeMessageType = 51
	KMIDICIPropertyExchangeMessageTypeInquiryGetPropertyData                 MIDICIPropertyExchangeMessageType = 52
	KMIDICIPropertyExchangeMessageTypeReplyToGetProperty                     MIDICIPropertyExchangeMessageType = 53
	KMIDICIPropertyExchangeMessageTypeInquirySetPropertyData                 MIDICIPropertyExchangeMessageType = 54
	KMIDICIPropertyExchangeMessageTypeReplyToSetPropertyData                 MIDICIPropertyExchangeMessageType = 55
	KMIDICIPropertyExchangeMessageTypeSubscription                           MIDICIPropertyExchangeMessageType = 56
	KMIDICIPropertyExchangeMessageTypeReplyToSubscription                    MIDICIPropertyExchangeMessageType = 57
	KMIDICIPropertyExchangeMessageTypeNotify                                 MIDICIPropertyExchangeMessageType = 63
)

func (MIDICIPropertyExchangeMessageType) String

type MIDICIResponder

type MIDICIResponder struct {
	foundation.NSObject
}

An object that responds to MIDI-CI inquiries from an initiator on behalf of a MIDI client, and handles profile and property exchange operations.

Apple documentation: https://developer.apple.com/documentation/coremidi/midiciresponder

func MIDICIResponderFromID

func MIDICIResponderFromID(id objc.ID) *MIDICIResponder

func (*MIDICIResponder) DeviceInfo

func (o *MIDICIResponder) DeviceInfo() *MIDICIDeviceInfo

func (*MIDICIResponder) InitWithDeviceInfoProfileDelegateProfileStatesSupportProperties

func (o *MIDICIResponder) InitWithDeviceInfoProfileDelegateProfileStatesSupportProperties(deviceInfo *MIDICIDeviceInfo, delegate MIDICIProfileResponderDelegate, profileList unsafe.Pointer, propertiesSupported bool) *MIDICIResponder

Creates a new responder.

func (*MIDICIResponder) Initiators

func (*MIDICIResponder) NotifyProfileOnChannelIsEnabled

func (o *MIDICIResponder) NotifyProfileOnChannelIsEnabled(aProfile *MIDICIProfile, channel uint8, enabledState bool) bool

Enables or disables a profile and notifies all connected initiators.

func (*MIDICIResponder) ProfileDelegate

func (o *MIDICIResponder) ProfileDelegate() MIDICIProfileResponderDelegate

func (*MIDICIResponder) SendProfileOnChannelProfileData

func (o *MIDICIResponder) SendProfileOnChannelProfileData(aProfile *MIDICIProfile, channel uint8, profileSpecificData *foundation.NSData) bool

Sends profile-specific data to all connected initiators.

func (*MIDICIResponder) Start

func (o *MIDICIResponder) Start() bool

Starts receiving initiator requests.

func (*MIDICIResponder) Stop

func (o *MIDICIResponder) Stop()

Stops receiving initiator requests and disconnects all connected initiators.

type MIDICISession

type MIDICISession struct {
	foundation.NSObject
}

An object that represents a MIDI-CI session.

Apple documentation: https://developer.apple.com/documentation/coremidi/midicisession

func MIDICISessionFromID

func MIDICISessionFromID(id objc.ID) *MIDICISession

func (*MIDICISession) DeviceInfo

func (o *MIDICISession) DeviceInfo() *MIDICIDeviceInfo

func (*MIDICISession) DisableProfileOnChannelError

func (o *MIDICISession) DisableProfileOnChannelError(profile *MIDICIProfile, channel uint8) (bool, error)

Performs an asynchronous request to disable a profile for a specific MIDI channel number.

func (*MIDICISession) EnableProfileOnChannelError

func (o *MIDICISession) EnableProfileOnChannelError(profile *MIDICIProfile, channel uint8) (bool, error)

Performs an asynchronous request to enable a profile for a specific MIDI channel number.

func (*MIDICISession) InitWithDiscoveredNodeDataReadyHandlerDisconnectHandler

func (o *MIDICISession) InitWithDiscoveredNodeDataReadyHandlerDisconnectHandler(discoveredNode *MIDICIDiscoveredNode, handler func(), disconnectHandler func(*MIDICISession, unsafe.Pointer)) *MIDICISession

Creates a MIDI-CI session.

func (*MIDICISession) MaxPropertyRequests

func (o *MIDICISession) MaxPropertyRequests() *foundation.NSNumber

func (*MIDICISession) MaxSysExSize

func (o *MIDICISession) MaxSysExSize() *foundation.NSNumber

func (*MIDICISession) MidiDestination

func (o *MIDICISession) MidiDestination() uint

func (*MIDICISession) ProfileChangedCallback

func (o *MIDICISession) ProfileChangedCallback() objc.Block

func (*MIDICISession) ProfileSpecificDataHandler

func (o *MIDICISession) ProfileSpecificDataHandler() objc.Block

func (*MIDICISession) ProfileStateForChannel

func (o *MIDICISession) ProfileStateForChannel(channel uint8) *MIDICIProfileState

Returns the profile state for the specified MIDI channel number.

func (*MIDICISession) SendProfileOnChannelProfileData

func (o *MIDICISession) SendProfileOnChannelProfileData(profile *MIDICIProfile, channel uint8, profileSpecificData *foundation.NSData) bool

Sends profile-specific data to the MIDI-CI session.

func (*MIDICISession) SetProfileChangedCallback

func (o *MIDICISession) SetProfileChangedCallback(profileChangedCallback func(*MIDICISession, uint8, *MIDICIProfile, bool))

func (*MIDICISession) SetProfileSpecificDataHandler

func (o *MIDICISession) SetProfileSpecificDataHandler(profileSpecificDataHandler func(*MIDICISession, uint8, *MIDICIProfile, *foundation.NSData))

func (*MIDICISession) SupportsProfileCapability

func (o *MIDICISession) SupportsProfileCapability() bool

func (*MIDICISession) SupportsPropertyCapability

func (o *MIDICISession) SupportsPropertyCapability() bool

type MIDICVStatus

type MIDICVStatus uint32

MIDI status types.

const (
	KMIDICVStatusNoteOff              MIDICVStatus = 8
	KMIDICVStatusNoteOn               MIDICVStatus = 9
	KMIDICVStatusPolyPressure         MIDICVStatus = 10
	KMIDICVStatusControlChange        MIDICVStatus = 11
	KMIDICVStatusProgramChange        MIDICVStatus = 12
	KMIDICVStatusChannelPressure      MIDICVStatus = 13
	KMIDICVStatusPitchBend            MIDICVStatus = 14
	KMIDICVStatusRegisteredPNC        MIDICVStatus = 0
	KMIDICVStatusAssignablePNC        MIDICVStatus = 1
	KMIDICVStatusRegisteredControl    MIDICVStatus = 2
	KMIDICVStatusAssignableControl    MIDICVStatus = 3
	KMIDICVStatusRelRegisteredControl MIDICVStatus = 4
	KMIDICVStatusRelAssignableControl MIDICVStatus = 5
	KMIDICVStatusPerNotePitchBend     MIDICVStatus = 6
	KMIDICVStatusPerNoteMgmt          MIDICVStatus = 15
)

func (MIDICVStatus) String

func (e MIDICVStatus) String() string

type MIDIControlTransform

type MIDIControlTransform struct {
	ControlType         MIDITransformControlType
	RemappedControlType MIDITransformControlType
	ControlNumber       uint16
	Transform           MIDITransformType
	Param               int16
}

A structure that describes the transformation of MIDI control change events.

type MIDIDriverInterface

type MIDIDriverInterface struct {
	QueryInterface unsafe.Pointer
	AddRef         unsafe.Pointer
	Release        unsafe.Pointer
	FindDevices    unsafe.Pointer
	Start          unsafe.Pointer
	Stop           unsafe.Pointer
	Configure      unsafe.Pointer
	Send           unsafe.Pointer
	EnableSource   unsafe.Pointer
	Flush          unsafe.Pointer
	Monitor        unsafe.Pointer
	SendPackets    unsafe.Pointer
	MonitorEvents  unsafe.Pointer
}

The interface to a MIDI driver.

type MIDIEventList

type MIDIEventList struct {
	Protocol   MIDIProtocolID
	NumPackets uint
	Packet     [1]MIDIEventPacket
}

A variable-length list of MIDI event packets.

type MIDIEventPacket

type MIDIEventPacket struct {
	TimeStamp uint64
	WordCount uint
	Words     [64]uint
}

A series of simultaneous MIDI events in Universal MIDI Packets (UMP) format.

func MIDIEventListAdd

func MIDIEventListAdd(evtlist *MIDIEventList, listSize uint, curPacket *MIDIEventPacket, time_ uint64, wordCount uint, words *uint) *MIDIEventPacket

func MIDIEventListInit

func MIDIEventListInit(evtlist *MIDIEventList, protocol MIDIProtocolID) *MIDIEventPacket

func MIDIEventPacketNext

func MIDIEventPacketNext(pkt *MIDIEventPacket) *MIDIEventPacket

@function MIDIEventPacketNext @abstract Advances a MIDIEventPacket pointer to the MIDIEventPacket which immediately follows it in memory if it is part of a MIDIEventList. @param pkt A pointer to a MIDIEventPacket in a MIDIEventList. @result The subsequent packet in the MIDIEventList.

type MIDIIOErrorNotification

type MIDIIOErrorNotification struct {
	MessageID    MIDINotificationMessageID
	MessageSize  uint
	DriverDevice uint
	ErrorCode    int
}

A general I/O error notification.

type MIDIMessageType

type MIDIMessageType uint32

Supported MIDI message types.

const (
	KMIDIMessageTypeUtility       MIDIMessageType = 0
	KMIDIMessageTypeSystem        MIDIMessageType = 1
	KMIDIMessageTypeChannelVoice1 MIDIMessageType = 2
	KMIDIMessageTypeSysEx         MIDIMessageType = 3
	KMIDIMessageTypeChannelVoice2 MIDIMessageType = 4
	KMIDIMessageTypeData128       MIDIMessageType = 5
	KMIDIMessageTypeFlexData      MIDIMessageType = 13
	KMIDIMessageTypeUnknownF      MIDIMessageType = 15
	KMIDIMessageTypeStream        MIDIMessageType = 15
	KMIDIMessageTypeInvalid       MIDIMessageType = 255
)

func MIDIMessageTypeForUPWord

func MIDIMessageTypeForUPWord(word uint) MIDIMessageType

func (MIDIMessageType) String

func (e MIDIMessageType) String() string

type MIDIMessage_64

type MIDIMessage_64 struct {
	Word0 uint
	Word1 uint
}

A 64-bit MIDI message.

func MIDI1UPSysEx

func MIDI1UPSysEx(group uint8, status uint8, bytesUsed uint8, byte1 uint8, byte2 uint8, byte3 uint8, byte4 uint8, byte5 uint8, byte6 uint8) MIDIMessage_64

func MIDI1UPSysExArray

func MIDI1UPSysExArray(group uint8, status uint8, begin *uint8, end *uint8) MIDIMessage_64

func MIDI2AssignableControl

func MIDI2AssignableControl(group uint8, channel uint8, bank uint8, index uint8, value uint) MIDIMessage_64

func MIDI2AssignablePNC

func MIDI2AssignablePNC(group uint8, channel uint8, noteNumber uint8, index uint8, value uint) MIDIMessage_64

func MIDI2ChannelPressure

func MIDI2ChannelPressure(group uint8, channel uint8, value uint) MIDIMessage_64

func MIDI2ChannelVoiceMessage

func MIDI2ChannelVoiceMessage(group uint8, status uint8, channel uint8, index uint16, value uint) MIDIMessage_64

func MIDI2ControlChange

func MIDI2ControlChange(group uint8, channel uint8, index uint8, value uint) MIDIMessage_64

func MIDI2NoteOff

func MIDI2NoteOff(group uint8, channel uint8, noteNumber uint8, attributeType uint8, attributeData uint16, velocity uint16) MIDIMessage_64

func MIDI2NoteOn

func MIDI2NoteOn(group uint8, channel uint8, noteNumber uint8, attributeType uint8, attributeData uint16, velocity uint16) MIDIMessage_64

func MIDI2PerNoteManagment

func MIDI2PerNoteManagment(group uint8, channel uint8, noteNumber uint8, detachPNCs bool, resetPNCsToDefault bool) MIDIMessage_64

func MIDI2PerNotePitchBend

func MIDI2PerNotePitchBend(group uint8, channel uint8, noteNumber uint8, value uint) MIDIMessage_64

func MIDI2PitchBend

func MIDI2PitchBend(group uint8, channel uint8, value uint) MIDIMessage_64

func MIDI2PolyPressure

func MIDI2PolyPressure(group uint8, channel uint8, noteNumber uint8, value uint) MIDIMessage_64

func MIDI2ProgramChange

func MIDI2ProgramChange(group uint8, channel uint8, bankIsValid bool, program uint8, bankMsb uint8, bankLsb uint8) MIDIMessage_64

func MIDI2RegisteredControl

func MIDI2RegisteredControl(group uint8, channel uint8, bank uint8, index uint8, value uint) MIDIMessage_64

func MIDI2RegisteredPNC

func MIDI2RegisteredPNC(group uint8, channel uint8, noteNumber uint8, index uint8, value uint) MIDIMessage_64

func MIDI2RelAssignableControl

func MIDI2RelAssignableControl(group uint8, channel uint8, bank uint8, index uint8, value uint) MIDIMessage_64

func MIDI2RelRegisteredControl

func MIDI2RelRegisteredControl(group uint8, channel uint8, bank uint8, index uint8, value uint) MIDIMessage_64

type MIDIMessage_96

type MIDIMessage_96 struct {
	Word0 uint
	Word1 uint
	Word2 uint
}

A 96-bit MIDI message.

type MIDIMessage_128

type MIDIMessage_128 struct {
	Word0 uint
	Word1 uint
	Word2 uint
	Word3 uint
}

A 128-bit MIDI message.

func MIDI2EndOfClipMessage

func MIDI2EndOfClipMessage() MIDIMessage_128

func MIDI2EndpointDeviceIdentityNotificationMessage

func MIDI2EndpointDeviceIdentityNotificationMessage(deviceManufacturer1 uint8, deviceManufacturer2 uint8, deviceManufacturer3 uint8, deviceFamily uint16, deviceFamilyModel uint16, revisionLevel uint) MIDIMessage_128

func MIDI2EndpointDiscoveryMessage

func MIDI2EndpointDiscoveryMessage(versionMajor uint8, versionMinor uint8, endpointInfoRequest bool, deviceIdentityRequest bool, endpointNameRequest bool, productInstanceIDRequest bool, streamConfigurationRequest bool) MIDIMessage_128

func MIDI2EndpointInfoNotificationMessage

func MIDI2EndpointInfoNotificationMessage(versionMajor uint8, versionMinor uint8, staticFunctionBlocks bool, numberOfFunctionBlocks uint8, m1 bool, m2 bool, receiveJRTimestamp bool, transmitJRTimestamp bool) MIDIMessage_128

func MIDI2EndpointNameNotificationMessage

func MIDI2EndpointNameNotificationMessage(format UMPStreamMessageFormat, data string, length uint) MIDIMessage_128

func MIDI2EndpointProductInstanceIDNotificationMessage

func MIDI2EndpointProductInstanceIDNotificationMessage(format UMPStreamMessageFormat, data string, length uint) MIDIMessage_128

func MIDI2FlexDataMessage

func MIDI2FlexDataMessage(group uint8, format uint8, address uint8, channel uint8, statusBank uint8, status uint8, data1 uint, data2 uint, data3 uint) MIDIMessage_128

func MIDI2FunctionBlockDiscoveryMessage

func MIDI2FunctionBlockDiscoveryMessage(functionBlockNumber uint8, infoRequest bool, nameRequest bool) MIDIMessage_128

func MIDI2FunctionBlockInfoNotificationMessage

func MIDI2FunctionBlockInfoNotificationMessage(active bool, blockNumber uint8, uiHint MIDIUMPFunctionBlockUIHint, midi1 MIDIUMPFunctionBlockMIDI1Info, direction MIDIUMPFunctionBlockDirection, firstGroup uint8, numberOfGroupsSpanned uint8, ciVersion uint8, maxSysex8Streams uint8) MIDIMessage_128

func MIDI2FunctionBlockNameNotificationMessage

func MIDI2FunctionBlockNameNotificationMessage(format UMPStreamMessageFormat, blockNumber uint8, data string, length uint) MIDIMessage_128

func MIDI2StartOfClipMessage

func MIDI2StartOfClipMessage() MIDIMessage_128

func MIDI2StreamConfigurationNotificationMessage

func MIDI2StreamConfigurationNotificationMessage(protocol uint8, receiveJRTimestamp bool, transmitJRTimestamp bool) MIDIMessage_128

func MIDI2StreamConfigurationRequestMessage

func MIDI2StreamConfigurationRequestMessage(protocol uint8, receiveJRTimestamp bool, transmitJRTimestamp bool) MIDIMessage_128

func MIDI2StreamMessage

func MIDI2StreamMessage(format UMPStreamMessageFormat, status UMPStreamMessageStatus, data1 uint16, data2 uint, data3 uint, data4 uint) MIDIMessage_128

func MIDI2StreamMessageFromData

func MIDI2StreamMessageFromData(format UMPStreamMessageFormat, status UMPStreamMessageStatus, data *uint8, length uint) MIDIMessage_128

type MIDINetworkConnection

type MIDINetworkConnection struct {
	foundation.NSObject
}

An object that connects a session to a host.

Apple documentation: https://developer.apple.com/documentation/coremidi/midinetworkconnection

func MIDINetworkConnectionConnectionWithHost

func MIDINetworkConnectionConnectionWithHost(host *MIDINetworkHost) *MIDINetworkConnection

Creates a connection to the specified host.

func MIDINetworkConnectionFromID

func MIDINetworkConnectionFromID(id objc.ID) *MIDINetworkConnection

func (*MIDINetworkConnection) Host

type MIDINetworkConnectionPolicy

type MIDINetworkConnectionPolicy uint64
const (
	MIDINetworkConnectionPolicy_NoOne              MIDINetworkConnectionPolicy = 0
	MIDINetworkConnectionPolicy_HostsInContactList MIDINetworkConnectionPolicy = 1
	MIDINetworkConnectionPolicy_Anyone             MIDINetworkConnectionPolicy = 2
)

func (MIDINetworkConnectionPolicy) String

type MIDINetworkHost

type MIDINetworkHost struct {
	foundation.NSObject
}

An object that represents the host’s network address.

Apple documentation: https://developer.apple.com/documentation/coremidi/midinetworkhost

func MIDINetworkHostFromID

func MIDINetworkHostFromID(id objc.ID) *MIDINetworkHost

func MIDINetworkHostHostWithNameAddressPort

func MIDINetworkHostHostWithNameAddressPort(name *foundation.NSString, address *foundation.NSString, port uint) *MIDINetworkHost

Creates a host with the specified name, adress, and port.

func MIDINetworkHostHostWithNameNetService

func MIDINetworkHostHostWithNameNetService(name *foundation.NSString, netService *foundation.NSNetService) *MIDINetworkHost

Creates a host with the specified name and net service.

func MIDINetworkHostHostWithNameNetServiceNameNetServiceDomain

func MIDINetworkHostHostWithNameNetServiceNameNetServiceDomain(name *foundation.NSString, netServiceName *foundation.NSString, netServiceDomain *foundation.NSString) *MIDINetworkHost

Creates a host with the specified name, net service name, and domain.

func (*MIDINetworkHost) Address

func (o *MIDINetworkHost) Address() *foundation.NSString

func (*MIDINetworkHost) HasSameAddressAs

func (o *MIDINetworkHost) HasSameAddressAs(other *MIDINetworkHost) bool

Compares this host instance with another to see if they share the same address value.

func (*MIDINetworkHost) Name

func (o *MIDINetworkHost) Name() *foundation.NSString

func (*MIDINetworkHost) NetServiceDomain

func (o *MIDINetworkHost) NetServiceDomain() *foundation.NSString

func (*MIDINetworkHost) NetServiceName

func (o *MIDINetworkHost) NetServiceName() *foundation.NSString

func (*MIDINetworkHost) Port

func (o *MIDINetworkHost) Port() uint

type MIDINetworkSession

type MIDINetworkSession struct {
	foundation.NSObject
}

An object that represents a pairing of a source and destination.

Apple documentation: https://developer.apple.com/documentation/coremidi/midinetworksession

func MIDINetworkSessionDefaultSession

func MIDINetworkSessionDefaultSession() *MIDINetworkSession

Returns the default singleton session.

func MIDINetworkSessionFromID

func MIDINetworkSessionFromID(id objc.ID) *MIDINetworkSession

func (*MIDINetworkSession) AddConnection

func (o *MIDINetworkSession) AddConnection(connection *MIDINetworkConnection) bool

Adds a new connection to this session.

func (*MIDINetworkSession) AddContact

func (o *MIDINetworkSession) AddContact(contact *MIDINetworkHost) bool

Adds a host as a contact.

func (*MIDINetworkSession) ConnectionPolicy

func (o *MIDINetworkSession) ConnectionPolicy() MIDINetworkConnectionPolicy

func (*MIDINetworkSession) Connections

Returns the session’s set of MIDI network connections.

func (*MIDINetworkSession) Contacts

Returns the array of network hosts.

func (*MIDINetworkSession) DestinationEndpoint

func (o *MIDINetworkSession) DestinationEndpoint() uint

Returns the session’s destination endpoint.

func (*MIDINetworkSession) IsEnabled

func (o *MIDINetworkSession) IsEnabled() bool

func (*MIDINetworkSession) LocalName

func (o *MIDINetworkSession) LocalName() *foundation.NSString

func (*MIDINetworkSession) NetworkName

func (o *MIDINetworkSession) NetworkName() *foundation.NSString

func (*MIDINetworkSession) NetworkPort

func (o *MIDINetworkSession) NetworkPort() uint

func (*MIDINetworkSession) RemoveConnection

func (o *MIDINetworkSession) RemoveConnection(connection *MIDINetworkConnection) bool

Removes a connection from this session.

func (*MIDINetworkSession) RemoveContact

func (o *MIDINetworkSession) RemoveContact(contact *MIDINetworkHost) bool

Removes a host as a contact.

func (*MIDINetworkSession) SetConnectionPolicy

func (o *MIDINetworkSession) SetConnectionPolicy(connectionPolicy MIDINetworkConnectionPolicy)

func (*MIDINetworkSession) SetEnabled

func (o *MIDINetworkSession) SetEnabled(enabled bool)

func (*MIDINetworkSession) SourceEndpoint

func (o *MIDINetworkSession) SourceEndpoint() uint

Returns the session’s source endpoint.

type MIDINoteAttribute

type MIDINoteAttribute int64
const (
	KMIDINoteAttributeNone                 MIDINoteAttribute = 0
	KMIDINoteAttributeManufacturerSpecific MIDINoteAttribute = 1
	KMIDINoteAttributeProfileSpecific      MIDINoteAttribute = 2
	KMIDINoteAttributePitch                MIDINoteAttribute = 3
)

func (MIDINoteAttribute) String

func (e MIDINoteAttribute) String() string

type MIDINotification

type MIDINotification struct {
	MessageID   MIDINotificationMessageID
	MessageSize uint
}

A message that describes a system state change.

type MIDINotificationMessageID

type MIDINotificationMessageID int64

The types of state changes the system supports.

const (
	// Some aspect of the current MIDI setup changed.
	KMIDIMsgSetupChanged MIDINotificationMessageID = 1
	// The system added a device, entity, or endpoint.
	KMIDIMsgObjectAdded MIDINotificationMessageID = 2
	// The system removed a device, entity, or endpoint.
	KMIDIMsgObjectRemoved MIDINotificationMessageID = 3
	// An object’s property value changed.
	KMIDIMsgPropertyChanged MIDINotificationMessageID = 4
	// The system created or disposed of a persistent MIDI Thru connection.
	KMIDIMsgThruConnectionsChanged MIDINotificationMessageID = 5
	// The system changed a serial port owner.
	KMIDIMsgSerialPortOwnerChanged MIDINotificationMessageID = 6
	// A driver I/O error occurred.
	KMIDIMsgIOError MIDINotificationMessageID = 7
)

func (MIDINotificationMessageID) String

func (e MIDINotificationMessageID) String() string

type MIDIObjectAddRemoveNotification

type MIDIObjectAddRemoveNotification struct {
	MessageID   MIDINotificationMessageID
	MessageSize uint
	Parent      uint
	ParentType  MIDIObjectType
	Child       uint
	ChildType   MIDIObjectType
}

A message that describes the addition or removal of an object.

type MIDIObjectPropertyChangeNotification

type MIDIObjectPropertyChangeNotification struct {
	MessageID    MIDINotificationMessageID
	MessageSize  uint
	Object       uint
	ObjectType   MIDIObjectType
	PropertyName unsafe.Pointer
}

A message that describes the change to an object property.

type MIDIObjectType

type MIDIObjectType int64

The MIDI object types that the system supports.

const (
	// A MIDI object with an undefined type.
	KMIDIObjectType_Other MIDIObjectType = -1
	// A MIDI device.
	KMIDIObjectType_Device MIDIObjectType = 0
	// A MIDI entity.
	KMIDIObjectType_Entity MIDIObjectType = 1
	// A MIDI source.
	KMIDIObjectType_Source MIDIObjectType = 2
	// A MIDI destination.
	KMIDIObjectType_Destination MIDIObjectType = 3
	// An external device.
	KMIDIObjectType_ExternalDevice MIDIObjectType = 16
	// An external entity.
	KMIDIObjectType_ExternalEntity MIDIObjectType = 17
	// An external source.
	KMIDIObjectType_ExternalSource MIDIObjectType = 18
	// An external destination.
	KMIDIObjectType_ExternalDestination MIDIObjectType = 19
)

func (MIDIObjectType) String

func (e MIDIObjectType) String() string

type MIDIPacket

type MIDIPacket struct {
	TimeStamp uint64
	Length    uint16
	Data      [256]uint8
}

A collection of simultaneous MIDI events.

func MIDIPacketListAdd

func MIDIPacketListAdd(pktlist *MIDIPacketList, listSize uint, curPacket *MIDIPacket, time_ uint64, nData uint, data *uint8) *MIDIPacket

func MIDIPacketListInit

func MIDIPacketListInit(pktlist *MIDIPacketList) *MIDIPacket

func MIDIPacketNext

func MIDIPacketNext(pkt *MIDIPacket) *MIDIPacket

@function MIDIPacketNext @abstract Advances a MIDIPacket pointer to the MIDIPacket which immediately follows it in memory if it is part of a MIDIPacketList. @param pkt A pointer to a MIDIPacket in a MIDIPacketList. @result The subsequent packet in the MIDIPacketList.

type MIDIPacketList

type MIDIPacketList struct {
	NumPackets uint
	Packet     [1]MIDIPacket
}

A list of MIDI events the system sends to or receives from an endpoint.

type MIDIPerNoteManagementOptions

type MIDIPerNoteManagementOptions int64
const (
	KMIDIPerNoteManagementReset  MIDIPerNoteManagementOptions = 1
	KMIDIPerNoteManagementDetach MIDIPerNoteManagementOptions = 2
)

func (MIDIPerNoteManagementOptions) String

type MIDIProgramChangeOptions

type MIDIProgramChangeOptions int64
const (
	KMIDIProgramChangeBankValid MIDIProgramChangeOptions = 1
)

func (MIDIProgramChangeOptions) String

func (e MIDIProgramChangeOptions) String() string

type MIDIProtocolID

type MIDIProtocolID int64

Specifies a MIDI protocol variant.

const (
	KMIDIProtocol_1_0 MIDIProtocolID = 1
	KMIDIProtocol_2_0 MIDIProtocolID = 2
)

func (MIDIProtocolID) String

func (e MIDIProtocolID) String() string

type MIDISysExStatus

type MIDISysExStatus uint32

MIDI System Exclusive (SysEx) types.

const (
	KMIDISysExStatusComplete            MIDISysExStatus = 0
	KMIDISysExStatusStart               MIDISysExStatus = 1
	KMIDISysExStatusContinue            MIDISysExStatus = 2
	KMIDISysExStatusEnd                 MIDISysExStatus = 3
	KMIDISysExStatusMixedDataSetHeader  MIDISysExStatus = 8
	KMIDISysExStatusMixedDataSetPayload MIDISysExStatus = 9
)

func (MIDISysExStatus) String

func (e MIDISysExStatus) String() string

type MIDISysexSendRequest

type MIDISysexSendRequest struct {
	Destination      uint
	Data             *uint8
	BytesToSend      uint
	Complete         uint8
	Reserved         [3]uint8
	CompletionProc   unsafe.Pointer
	CompletionRefCon unsafe.Pointer
}

A request to asynchronously send a single system-exclusive (SysEx) event to a destination.

type MIDISysexSendRequestUMP

type MIDISysexSendRequestUMP struct {
	Destination      uint
	Words            *uint
	WordsToSend      uint
	Complete         uint8
	CompletionProc   unsafe.Pointer
	CompletionRefCon unsafe.Pointer
}

A request to asynchronously send a single universal MIDI packet (UMP) system-exclusive (SysEx) event to a destination.

type MIDISystemStatus

type MIDISystemStatus uint32

MIDI System status types.

const (
	KMIDIStatusStartOfExclusive MIDISystemStatus = 240
	KMIDIStatusEndOfExclusive   MIDISystemStatus = 247
	KMIDIStatusMTC              MIDISystemStatus = 241
	KMIDIStatusSongPosPointer   MIDISystemStatus = 242
	KMIDIStatusSongSelect       MIDISystemStatus = 243
	KMIDIStatusTuneRequest      MIDISystemStatus = 246
	KMIDIStatusTimingClock      MIDISystemStatus = 248
	KMIDIStatusStart            MIDISystemStatus = 250
	KMIDIStatusContinue         MIDISystemStatus = 251
	KMIDIStatusStop             MIDISystemStatus = 252
	KMIDIStatusActiveSending    MIDISystemStatus = 254
	KMIDIStatusActiveSensing    MIDISystemStatus = 254
	KMIDIStatusSystemReset      MIDISystemStatus = 255
)

func (MIDISystemStatus) String

func (e MIDISystemStatus) String() string

type MIDIThruConnectionEndpoint

type MIDIThruConnectionEndpoint struct {
	EndpointRef uint
	UniqueID    int
}

A source or destination in a MIDI thru connection.

type MIDIThruConnectionParams

type MIDIThruConnectionParams struct {
	Version              uint
	NumSources           uint
	Sources              [8]MIDIThruConnectionEndpoint
	NumDestinations      uint
	Destinations         [8]MIDIThruConnectionEndpoint
	ChannelMap           [16]uint8
	LowVelocity          uint8
	HighVelocity         uint8
	LowNote              uint8
	HighNote             uint8
	NoteNumber           MIDITransform
	Velocity             MIDITransform
	KeyPressure          MIDITransform
	ChannelPressure      MIDITransform
	ProgramChange        MIDITransform
	PitchBend            MIDITransform
	FilterOutSysEx       uint8
	FilterOutMTC         uint8
	FilterOutBeatClock   uint8
	FilterOutTuneRequest uint8
	Reserved2            [3]uint8
	FilterOutAllControls uint8
	NumControlTransforms uint16
	NumMaps              uint16
	Reserved3            [4]uint16
}

A set of MIDI routings and transformations.

type MIDITransform

type MIDITransform struct {
	Transform MIDITransformType
	Param     int16
}

The transformation of a single type of MIDI event.

type MIDITransformControlType

type MIDITransformControlType int64

A set of values that indicate how to interpret control numbers.

const (
	// A 7-bit control type.
	KMIDIControlType_7Bit MIDITransformControlType = 0
	// A 14-bit control type.
	KMIDIControlType_14Bit MIDITransformControlType = 1
	// A 7-bit Registered Parameter Number (RPN).
	KMIDIControlType_7BitRPN MIDITransformControlType = 2
	// A 14-bit Registered Parameter Number (RPN).
	KMIDIControlType_14BitRPN MIDITransformControlType = 3
	// A 7-bit Nonregistered Parameter Number (RPN).
	KMIDIControlType_7BitNRPN MIDITransformControlType = 4
	// A 14-bit Nonregistered Parameter Number (RPN).
	KMIDIControlType_14BitNRPN MIDITransformControlType = 5
)

func (MIDITransformControlType) String

func (e MIDITransformControlType) String() string

type MIDITransformType

type MIDITransformType int64

Values that specify the type of MIDI transformation.

const (
	// No transformation.
	KMIDITransform_None MIDITransformType = 0
	// A transformation that filters out an event type.
	KMIDITransform_FilterOut MIDITransformType = 1
	// A transformation that changes a specified control number to a supplied parameter value.
	KMIDITransform_MapControl MIDITransformType = 2
	// A transform that adds a parameter value.
	KMIDITransform_Add MIDITransformType = 8
	// A transform that multiplies by the specified parameter value.
	KMIDITransform_Scale MIDITransformType = 9
	// A transform that sets the minimum value to the specified parameter value.
	KMIDITransform_MinValue MIDITransformType = 10
	// A transform that sets the maximum value to the specified parameter value.
	KMIDITransform_MaxValue MIDITransformType = 11
	// A transform that maps one value to another.
	KMIDITransform_MapValue MIDITransformType = 12
)

func (MIDITransformType) String

func (e MIDITransformType) String() string

type MIDIUMPCIObjectBackingType

type MIDIUMPCIObjectBackingType int64
const (
	KMIDIUMPCIObjectBackingTypeUnknown      MIDIUMPCIObjectBackingType = 0
	KMIDIUMPCIObjectBackingTypeVirtual      MIDIUMPCIObjectBackingType = 1
	KMIDIUMPCIObjectBackingTypeDriverDevice MIDIUMPCIObjectBackingType = 2
	KMIDIUMPCIObjectBackingTypeUSBMIDI      MIDIUMPCIObjectBackingType = 3
)

func (MIDIUMPCIObjectBackingType) String

type MIDIUMPCIProfile

type MIDIUMPCIProfile struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpciprofile

func MIDIUMPCIProfileFromID

func MIDIUMPCIProfileFromID(id objc.ID) *MIDIUMPCIProfile

func (*MIDIUMPCIProfile) EnabledChannelCount

func (o *MIDIUMPCIProfile) EnabledChannelCount() uint16

@property enabledChannelCount @brief The number of channels currently enabled on the Profile. When the profile is disabled, this value is set to 0.

func (*MIDIUMPCIProfile) FirstChannel

func (o *MIDIUMPCIProfile) FirstChannel() uint8

@property firstChannel @brief The first channel number supported on the Profile.

func (*MIDIUMPCIProfile) GroupOffset

func (o *MIDIUMPCIProfile) GroupOffset() uint8

@property groupOffset @brief For Group profiles defined on Function Blocks, the value to be added to the lowest Function Block UMP Group for messaging (e.g., a Group Profile defined on the second Group of a Function Block has a groupOffset of 1).

func (*MIDIUMPCIProfile) IsEnabled

func (o *MIDIUMPCIProfile) IsEnabled() bool

@property isEnabled @brief The enable state of the Profile.

func (*MIDIUMPCIProfile) Name

@property name @brief The name of the MIDI-CI proifle.

func (*MIDIUMPCIProfile) ProfileID

func (o *MIDIUMPCIProfile) ProfileID() unsafe.Pointer

@property profileID @brief C struct representation of MIDI-CI Profile ID.

func (*MIDIUMPCIProfile) ProfileType

func (o *MIDIUMPCIProfile) ProfileType() MIDICIProfileType

@property profileType @brief The type of MIDI-CI Profile, i.e., single-channel, multichannel, Group, or Function Block.

func (*MIDIUMPCIProfile) SetProfileStateEnabledChannelCountError

func (o *MIDIUMPCIProfile) SetProfileStateEnabledChannelCountError(isEnabled bool, enabledChannelCount uint16) (bool, error)

@method setProfileState:enabledChannelCount:error: @brief Issue a Set Profile On or Set Profile Off request on this profile using the MIDI server's MUID. @param isEnabled YES if setting the Profile to on. @param enabledChannelCount The requsted number of channels to be enabled when the Profile is enabled. This field is only used when isOn is set to YES and the profile can enable a variable number of channels. Otherwise, it is ignored. @param error The out-error used if an error occurred. @discussion The result of this operation, if any, is received via the profile notification posted by the MIDICIDeviceManager. Returns YES if the request is valid and the request was dispatched.

func (*MIDIUMPCIProfile) TotalChannelCount

func (o *MIDIUMPCIProfile) TotalChannelCount() uint16

@property totalChannelCount @brief The total number of channels supported by the Profile.

type MIDIUMPEndpoint

type MIDIUMPEndpoint struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpendpoint

func MIDIUMPEndpointFromID

func MIDIUMPEndpointFromID(id objc.ID) *MIDIUMPEndpoint

func (*MIDIUMPEndpoint) DeviceInfo

func (o *MIDIUMPEndpoint) DeviceInfo() *MIDI2DeviceInfo

@property deviceInfo @brief The MIDI 2.0 Device identity information associated with the device.

func (*MIDIUMPEndpoint) EndpointType

func (o *MIDIUMPEndpoint) EndpointType() MIDIUMPCIObjectBackingType

@property endpointType @brief Indicates the type of UMP Endpoint, if known.

func (*MIDIUMPEndpoint) FunctionBlocks

func (o *MIDIUMPEndpoint) FunctionBlocks() *foundation.NSArray[*MIDIUMPFunctionBlock]

@property functionBlocks @brief The Function Blocks associated with the UMP endpoint, if any.

func (*MIDIUMPEndpoint) HasJRTSReceiveCapability

func (o *MIDIUMPEndpoint) HasJRTSReceiveCapability() bool

@property hasJRTSReceiveCapability @brief Jitter-reduction timestamp receive capability.

func (*MIDIUMPEndpoint) HasJRTSTransmitCapability

func (o *MIDIUMPEndpoint) HasJRTSTransmitCapability() bool

@property hasJRTSTransmitCapability @brief Jitter-reduction timestamp transmit capability

func (*MIDIUMPEndpoint) HasStaticFunctionBlocks

func (o *MIDIUMPEndpoint) HasStaticFunctionBlocks() bool

@property hasStaticFunctionBlocks @brief Indicates if the Function Block state will never change once discovered.

func (*MIDIUMPEndpoint) MIDIDestination

func (o *MIDIUMPEndpoint) MIDIDestination() uint

@property MIDIDestination @brief The MIDI destination for the UMP endpoint.

func (*MIDIUMPEndpoint) MIDIProtocol

func (o *MIDIUMPEndpoint) MIDIProtocol() MIDIProtocolID

@property MIDIProtocol @brief The MIDI protocol currently used by the UMP endpoint.

func (*MIDIUMPEndpoint) MIDISource

func (o *MIDIUMPEndpoint) MIDISource() uint

@property MIDISource @brief The MIDI source for the UMP endpoint.

func (*MIDIUMPEndpoint) Name

func (o *MIDIUMPEndpoint) Name() *foundation.NSString

@property name @brief The UTF-8 encoded name of the UMP endpoint. @discussion The name shall not be any longer than 98 bytes of UTF-8 Text.

func (*MIDIUMPEndpoint) ProductInstanceID

func (o *MIDIUMPEndpoint) ProductInstanceID() *foundation.NSString

@property productInstanceID @brief Serial number (or similar value) uniquely identifying this manufacturer/family/model, up to 42 bytes of ASCII Text in the ordinal range 32-126.

func (*MIDIUMPEndpoint) SetFunctionBlocks

func (o *MIDIUMPEndpoint) SetFunctionBlocks(functionBlocks *foundation.NSArray[*MIDIUMPFunctionBlock])

func (*MIDIUMPEndpoint) SupportedMIDIProtocols

func (o *MIDIUMPEndpoint) SupportedMIDIProtocols() MIDIUMPProtocolOptions

@property supportedMIDIProtocols @brief All protocols the UMP endpoint is capable of using for communication.

type MIDIUMPEndpointManager

type MIDIUMPEndpointManager struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpendpointmanager

func MIDIUMPEndpointManagerFromID

func MIDIUMPEndpointManagerFromID(id objc.ID) *MIDIUMPEndpointManager

func MIDIUMPEndpointManagerSharedInstance

func MIDIUMPEndpointManagerSharedInstance() *MIDIUMPEndpointManager

@property sharedInstance @brief Retrieve the shared UMP Endpoint manager for the client process. @discussion After first access to this property, the client process may begin observing notifications which are posted when the system-wide cache changes.

func (*MIDIUMPEndpointManager) UMPEndpoints

@property UMPEndpoints @brief A list of UMP endpoints discovered using UMP endpoint discovery.

type MIDIUMPFunctionBlock

type MIDIUMPFunctionBlock struct {
	foundation.NSObject
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpfunctionblock

func MIDIUMPFunctionBlockFromID

func MIDIUMPFunctionBlockFromID(id objc.ID) *MIDIUMPFunctionBlock

func (*MIDIUMPFunctionBlock) Direction

@property direction @brief The direction of the Function Block: input, output, or bidirectional.

func (*MIDIUMPFunctionBlock) FirstGroup

func (o *MIDIUMPFunctionBlock) FirstGroup() uint8

@property firstGroup @brief The first Group spanned by this Function Block.

func (*MIDIUMPFunctionBlock) FunctionBlockID

func (o *MIDIUMPFunctionBlock) FunctionBlockID() uint8

@property functionBlockID @brief The device-unique ID for this Function Block.

func (*MIDIUMPFunctionBlock) IsEnabled

func (o *MIDIUMPFunctionBlock) IsEnabled() bool

@property isEnabled @brief The enable state of this Function Block.

func (*MIDIUMPFunctionBlock) MIDI1Info

@property MIDI1Info @brief MIDI 1.0 speed information.

func (*MIDIUMPFunctionBlock) MaxSysEx8Streams

func (o *MIDIUMPFunctionBlock) MaxSysEx8Streams() uint8

@property maxSysEx8Streams @brief The maximum number of simultaneous Sysex8 streams.

func (*MIDIUMPFunctionBlock) MidiCIDevice

func (o *MIDIUMPFunctionBlock) MidiCIDevice() *MIDICIDevice

@property MIDICIDevice @brief Retrieve the MIDICIDevice class interface if the Function Block supports MIDI-CI. @discussion If a Function Block was created as a MIDICIDevice object, this property will provide an in-place MIDICIDevice interface that may be used with MIDI-CI API. If the device was not created as a MIDICIDevice, this method returns nil.

func (*MIDIUMPFunctionBlock) Name

@property name @brief A string containing the Function Block's name.

func (*MIDIUMPFunctionBlock) TotalGroupsSpanned

func (o *MIDIUMPFunctionBlock) TotalGroupsSpanned() uint8

@property totalGroupsSpanned @brief The total number of groups spanned by this Function Block.

func (*MIDIUMPFunctionBlock) UIHint

@property UIHint @brief A hint for UI about the primary usage of this Function Block.

func (*MIDIUMPFunctionBlock) UMPEndpoint

func (o *MIDIUMPFunctionBlock) UMPEndpoint() *MIDIUMPEndpoint

@property UMPEndpoint @brief The UMP Endpoint to which this Function Block is registered. @discussion If the function block does not belong to an endpoint this property will be nil.

type MIDIUMPFunctionBlockDirection

type MIDIUMPFunctionBlockDirection int64
const (
	KMIDIUMPFunctionBlockDirectionUnknown       MIDIUMPFunctionBlockDirection = 0
	KMIDIUMPFunctionBlockDirectionInput         MIDIUMPFunctionBlockDirection = 1
	KMIDIUMPFunctionBlockDirectionOutput        MIDIUMPFunctionBlockDirection = 2
	KMIDIUMPFunctionBlockDirectionBidirectional MIDIUMPFunctionBlockDirection = 3
)

func (MIDIUMPFunctionBlockDirection) String

type MIDIUMPFunctionBlockMIDI1Info

type MIDIUMPFunctionBlockMIDI1Info int64
const (
	KMIDIUMPFunctionBlockMIDI1InfoNotMIDI1              MIDIUMPFunctionBlockMIDI1Info = 0
	KMIDIUMPFunctionBlockMIDI1InfoUnrestrictedBandwidth MIDIUMPFunctionBlockMIDI1Info = 1
	KMIDIUMPFunctionBlockMIDI1InfoRestrictedBandwidth   MIDIUMPFunctionBlockMIDI1Info = 2
)

func (MIDIUMPFunctionBlockMIDI1Info) String

type MIDIUMPFunctionBlockUIHint

type MIDIUMPFunctionBlockUIHint int64
const (
	KMIDIUMPFunctionBlockUIHintUnknown        MIDIUMPFunctionBlockUIHint = 0
	KMIDIUMPFunctionBlockUIHintReceiver       MIDIUMPFunctionBlockUIHint = 1
	KMIDIUMPFunctionBlockUIHintSender         MIDIUMPFunctionBlockUIHint = 2
	KMIDIUMPFunctionBlockUIHintSenderReceiver MIDIUMPFunctionBlockUIHint = 3
)

func (MIDIUMPFunctionBlockUIHint) String

type MIDIUMPMutableEndpoint

type MIDIUMPMutableEndpoint struct {
	MIDIUMPEndpoint
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpmutableendpoint

func MIDIUMPMutableEndpointFromID

func MIDIUMPMutableEndpointFromID(id objc.ID) *MIDIUMPMutableEndpoint

func (*MIDIUMPMutableEndpoint) InitWithNameDeviceInfoProductInstanceIDMIDIProtocolDestinationCallback

func (o *MIDIUMPMutableEndpoint) InitWithNameDeviceInfoProductInstanceIDMIDIProtocolDestinationCallback(name *foundation.NSString, deviceInfo *MIDI2DeviceInfo, productInstanceID *foundation.NSString, midiProtocol MIDIProtocolID, destinationCallback func(*MIDIEventList, unsafe.Pointer)) *MIDIUMPMutableEndpoint

@method initWithName:deviceInfo:productInstanceID:MIDIProtocol:destinationCallback @brief Initializer for creating a new MIDIUMPEndpoint. @param name The UMP endpoint name. @param deviceInfo The MIDI 2 device ID info for the UMP endpoint. @param productInstanceID The product instance ID, up to 42 characters. @param MIDIProtocol The MIDI protocol. @param destinationCallback The receive callback used to create the UMP endpoint's MIDI destination associated, which can be used to observe or process incoming MIDI traffic. @discussion This operation will fail if the device ID information is malformed or if virtual MIDI endpoint creation is not allowed (for example, on iOS, if your app doesn't list 'audio' in UIBackgroundModes).

func (*MIDIUMPMutableEndpoint) IsEnabled

func (o *MIDIUMPMutableEndpoint) IsEnabled() bool

@property isEnabled @brief The enable state of the endpoint.

func (*MIDIUMPMutableEndpoint) MutableFunctionBlocks

@property mutableFunctionBlocks @brief The Function Blocks associated with the UMP endpoint, if any.

func (*MIDIUMPMutableEndpoint) RegisterFunctionBlocksMarkAsStaticError

func (o *MIDIUMPMutableEndpoint) RegisterFunctionBlocksMarkAsStaticError(functionBlocks *foundation.NSArray[*MIDIUMPMutableFunctionBlock], markAsStatic bool) (bool, error)

@method registerFunctionBlocks:markAsStatic:error: @brief Register or replace Function Blocks for a disabled client-created MIDIUMPEndpoint. @param functionBlocks A list of client-created Function Blocks to register. @param markAsStatic Whether the Function Block configuration may be updated. @param error The out-error used if an error occurs. @return YES for success. NO in the event of a failure, in which case the error is returned in error. @discussion This operation will fail if the array contains any disabled Function Blocks but the MIDIUMPEndpoint Function Block configuration is static. Returns YES if the Function Block configuration was set successfully.

func (*MIDIUMPMutableEndpoint) SetEnabledError

func (o *MIDIUMPMutableEndpoint) SetEnabledError(isEnabled bool) (bool, error)

@method setEnabled:error: @brief Enable a mutable UMP endpoint in the system-wide UMP endpoint cache. @param isEnabled The enable state of the UMP endpoint. @param error The out-error used if an error occurred. @return YES for success. NO in the event of a failure, in which case the error is returned in error. @discussion A MIDIUMPMutableEndpoint must be cache enabled before it is visible via API. Note that Function Blocks may only be registered to uncached MIDIUMPMutableEndpoint objects.

func (*MIDIUMPMutableEndpoint) SetMutableFunctionBlocks

func (o *MIDIUMPMutableEndpoint) SetMutableFunctionBlocks(mutableFunctionBlocks *foundation.NSArray[*MIDIUMPMutableFunctionBlock])

func (*MIDIUMPMutableEndpoint) SetNameError

func (o *MIDIUMPMutableEndpoint) SetNameError(name *foundation.NSString) (bool, error)

@method setName:error: @brief Set the endpoints name. @param name A string representing the name of the endpoint. @param error The out-error used if an error occurs. @return YES for success. NO in the event of a failure, in which case the error is returned in error. @discussion This operation will fail if the name could not be set.

type MIDIUMPMutableFunctionBlock

type MIDIUMPMutableFunctionBlock struct {
	MIDIUMPFunctionBlock
}

Apple documentation: https://developer.apple.com/documentation/coremidi/midiumpmutablefunctionblock

func MIDIUMPMutableFunctionBlockFromID

func MIDIUMPMutableFunctionBlockFromID(id objc.ID) *MIDIUMPMutableFunctionBlock

func (*MIDIUMPMutableFunctionBlock) InitWithNameDirectionFirstGroupTotalGroupsSpannedMaxSysEx8StreamsMIDI1InfoUIHintIsEnabled

func (o *MIDIUMPMutableFunctionBlock) InitWithNameDirectionFirstGroupTotalGroupsSpannedMaxSysEx8StreamsMIDI1InfoUIHintIsEnabled(name *foundation.NSString, direction MIDIUMPFunctionBlockDirection, firstGroup uint8, totalGroupsSpanned uint8, maxSysEx8Streams uint8, midi1Info MIDIUMPFunctionBlockMIDI1Info, uiHint MIDIUMPFunctionBlockUIHint, isEnabled bool) *MIDIUMPMutableFunctionBlock

@method initWithName:direction:firstGroup:totalGroupsSpanned:maxSysEx8Streams:MIDI1Info:UIHint:isEnabled: @brief The initializer for constructing a Function Block. @param name The Function Block name. @param direction The directionality of the Function Block. @param firstGroup The first UMP Group supported by the Function Block. @param totalGroupsSpanned The number of UMP groups spanned by the Function Block. @param maxSysEx8Streams The maximum number of simultaneous Sysex8 streams. @param MIDI1Info The MIDI 1.0 speed information for the Function Block. @param UIHint A UI hint for the Function Block. @param isEnabled The enable state of the Function Block. @discussion This operation will fail if virtual MIDI endpoint creation is not allowed (for example, on iOS, if your app doesn't list 'audio' in UIBackgroundModes).

func (*MIDIUMPMutableFunctionBlock) ReconfigureWithFirstGroupDirectionMIDI1InfoUIHintError

func (o *MIDIUMPMutableFunctionBlock) ReconfigureWithFirstGroupDirectionMIDI1InfoUIHintError(firstGroup uint8, direction MIDIUMPFunctionBlockDirection, midi1Info MIDIUMPFunctionBlockMIDI1Info, uiHint MIDIUMPFunctionBlockUIHint) (bool, error)

@method reconfigureWithFirstGroup:direction:MIDI1Info:UIHint:error @brief Reconfigure a Function Block. @param firstGroup The new first Group to use for the Function Block.. @param direction The direction of the Function Block: input, output, or bidirectional. @param MIDI1Info MIDI 1.0 speed information. @param UIHint A hint for UI about the primary usage of this Function Block. @discussion If a mutable Function Block has not been registered to a CI device or was registered in a non-static Function Block configuration, the first Group can be changed if the final Group spanned by the Function Block is valid after the Function Block has been relocated. Returns YES if the first Group of the Function Block was changed.

func (*MIDIUMPMutableFunctionBlock) SetEnabledError

func (o *MIDIUMPMutableFunctionBlock) SetEnabledError(isEnabled bool) (bool, error)

@method setEnabled:error: @brief Set whether this Function Block is enabled or disabled. @param isEnabled The new state of the Function Block. @param error The out-error used if an error occurred. @return YES for success. NO in the event of a failure, in which case the error is returned in error. @discussion If a Function Block is registered to UMP Endpoint as part of a static configuration, the state must always be enabled and may not change. If registered to a UMP Endpoint, changes to the Function Block state are propagated to the system-wide cache.

func (*MIDIUMPMutableFunctionBlock) SetNameError

func (o *MIDIUMPMutableFunctionBlock) SetNameError(name *foundation.NSString) (bool, error)

@method setName:error: @brief Set the function block name. @param name A string representing the name of the function block. @param error The out-error used if an error occurs. @return YES for success. NO in the event of a failure, in which case the error is returned in error. @discussion The Function Block name string. Updating the name of a Function Block will cause the updated name to be propagated to all local copies of the system-wide cache.

type MIDIUMPProtocolOptions

type MIDIUMPProtocolOptions int64
const (
	KMIDIUMPProtocolOptionsMIDI1 MIDIUMPProtocolOptions = 1
	KMIDIUMPProtocolOptionsMIDI2 MIDIUMPProtocolOptions = 2
)

func (MIDIUMPProtocolOptions) String

func (e MIDIUMPProtocolOptions) String() string

type MIDIUniversalMessage

type MIDIUniversalMessage struct {
	Type     MIDIMessageType
	Group    uint8
	Reserved [3]uint8
	Field3   unsafe.Pointer
}

@struct MIDIUniversalMessage @abstract A representation of all possible messages stored in a Universal MIDI packet.

type MIDIUtilityStatus

type MIDIUtilityStatus uint32
const (
	KMIDIUtilityStatusNOOP                               MIDIUtilityStatus = 0
	KMIDIUtilityStatusJitterReductionClock               MIDIUtilityStatus = 1
	KMIDIUtilityStatusJitterReductionTimestamp           MIDIUtilityStatus = 2
	KMIDIUtilityStatusDeltaClockstampTicksPerQuarterNote MIDIUtilityStatus = 3
	KMIDIUtilityStatusTicksSinceLastEvent                MIDIUtilityStatus = 4
)

func (MIDIUtilityStatus) String

func (e MIDIUtilityStatus) String() string

type MIDIValueMap

type MIDIValueMap struct {
	Value [128]uint8
}

A custom lookup table to transform MIDI 7-bit values, as contained in note numbers, velocities, control values, and so on.

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type UMPStreamMessageFormat

type UMPStreamMessageFormat int64
const (
	KUMPStreamMessageFormatComplete   UMPStreamMessageFormat = 0
	KUMPStreamMessageFormatStart      UMPStreamMessageFormat = 1
	KUMPStreamMessageFormatContinuing UMPStreamMessageFormat = 2
	KUMPStreamMessageFormatEnd        UMPStreamMessageFormat = 3
)

func (UMPStreamMessageFormat) String

func (e UMPStreamMessageFormat) String() string

type UMPStreamMessageStatus

type UMPStreamMessageStatus uint32
const (
	KUMPStreamMessageStatusEndpointDiscovery               UMPStreamMessageStatus = 0
	KUMPStreamMessageStatusEndpointInfoNotification        UMPStreamMessageStatus = 1
	KUMPStreamMessageStatusDeviceIdentityNotification      UMPStreamMessageStatus = 2
	KUMPStreamMessageStatusEndpointNameNotification        UMPStreamMessageStatus = 3
	KUMPStreamMessageStatusProductInstanceIDNotification   UMPStreamMessageStatus = 4
	KUMPStreamMessageStatusStreamConfigurationRequest      UMPStreamMessageStatus = 5
	KUMPStreamMessageStatusStreamConfigurationNotification UMPStreamMessageStatus = 6
	KUMPStreamMessageStatusFunctionBlockDiscovery          UMPStreamMessageStatus = 16
	KUMPStreamMessageStatusFunctionBlockInfoNotification   UMPStreamMessageStatus = 17
	KUMPStreamMessageStatusFunctionBlockNameNotification   UMPStreamMessageStatus = 18
	KUMPStreamMessageStatusStartOfClip                     UMPStreamMessageStatus = 32
	KUMPStreamMessageStatusEndOfClip                       UMPStreamMessageStatus = 33
)

func (UMPStreamMessageStatus) String

func (e UMPStreamMessageStatus) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL