coremidi

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Communicate with MIDI devices such as hardware keyboards and synthesizers.

Apple Documentation

Index

Constants

This section is empty.

Variables

View Source
var CIDeviceInfoClass = _CIDeviceInfoClass{objc.GetClass("MIDICIDeviceInfo")}

The class instance for the CIDeviceInfo class.

View Source
var CIDiscoveredNodeClass = _CIDiscoveredNodeClass{objc.GetClass("MIDICIDiscoveredNode")}

The class instance for the CIDiscoveredNode class.

View Source
var CIDiscoveryManagerClass = _CIDiscoveryManagerClass{objc.GetClass("MIDICIDiscoveryManager")}

The class instance for the CIDiscoveryManager class.

View Source
var CIProfileClass = _CIProfileClass{objc.GetClass("MIDICIProfile")}

The class instance for the CIProfile class.

View Source
var CIProfileStateClass = _CIProfileStateClass{objc.GetClass("MIDICIProfileState")}

The class instance for the CIProfileState class.

View Source
var CIResponderClass = _CIResponderClass{objc.GetClass("MIDICIResponder")}

The class instance for the CIResponder class.

View Source
var CISessionClass = _CISessionClass{objc.GetClass("MIDICISession")}

The class instance for the CISession class.

View Source
var NetworkConnectionClass = _NetworkConnectionClass{objc.GetClass("MIDINetworkConnection")}

The class instance for the NetworkConnection class.

View Source
var NetworkHostClass = _NetworkHostClass{objc.GetClass("MIDINetworkHost")}

The class instance for the NetworkHost class.

View Source
var NetworkSessionClass = _NetworkSessionClass{objc.GetClass("MIDINetworkSession")}

The class instance for the NetworkSession class.

Functions

This section is empty.

Types

type CIDeviceIdentification

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

A structure that describes a MIDI-CI device. Full Topic

type CIDeviceInfo

type CIDeviceInfo struct {
	objc.Object
}

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

func CIDeviceInfoFrom

func CIDeviceInfoFrom(ptr unsafe.Pointer) CIDeviceInfo

func NewCIDeviceInfo

func NewCIDeviceInfo() CIDeviceInfo

func NewCIDeviceInfoWithDestinationManufacturerFamilyModelRevision

func NewCIDeviceInfoWithDestinationManufacturerFamilyModelRevision(midiDestination EntityRef, manufacturer []byte, family []byte, modelNumber []byte, revisionLevel []byte) CIDeviceInfo

Creates a new device information instance. Full Topic

func (CIDeviceInfo) Family

func (c_ CIDeviceInfo) Family() []byte

The family to which the device belongs. Full Topic

func (CIDeviceInfo) Init

func (c_ CIDeviceInfo) Init() CIDeviceInfo

func (CIDeviceInfo) InitWithDestinationManufacturerFamilyModelRevision

func (c_ CIDeviceInfo) InitWithDestinationManufacturerFamilyModelRevision(midiDestination EntityRef, manufacturer []byte, family []byte, modelNumber []byte, revisionLevel []byte) CIDeviceInfo

func (CIDeviceInfo) ManufacturerID

func (c_ CIDeviceInfo) ManufacturerID() []byte

The MIDI System Exclusive (SysEx) ID of the device manufacturer. Full Topic

func (CIDeviceInfo) MidiDestination

func (c_ CIDeviceInfo) MidiDestination() EndpointRef

The MIDI destination the device’s MIDI entity uses for capability inquiries. Full Topic

func (CIDeviceInfo) ModelNumber

func (c_ CIDeviceInfo) ModelNumber() []byte

The model number of the device. Full Topic

func (CIDeviceInfo) RevisionLevel

func (c_ CIDeviceInfo) RevisionLevel() []byte

The revision number of the device model number. Full Topic

type CIDiscoveredNode

type CIDiscoveredNode struct {
	objc.Object
}

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

func CIDiscoveredNodeFrom

func CIDiscoveredNodeFrom(ptr unsafe.Pointer) CIDiscoveredNode

func NewCIDiscoveredNode

func NewCIDiscoveredNode() CIDiscoveredNode

func (CIDiscoveredNode) Destination

func (c_ CIDiscoveredNode) Destination() EntityRef

The node’s MIDI destination. Full Topic

func (CIDiscoveredNode) DeviceInfo

func (c_ CIDiscoveredNode) DeviceInfo() CIDeviceInfo

The available MIDI-CI device information. Full Topic

func (CIDiscoveredNode) Init

func (CIDiscoveredNode) MaximumSysExSize

func (c_ CIDiscoveredNode) MaximumSysExSize() foundation.Number

The maximum size of a System Exclusive (SysEx) message this node supports. Full Topic

func (CIDiscoveredNode) SupportsProfiles

func (c_ CIDiscoveredNode) SupportsProfiles() bool

A Boolean value that indicates whether this node supports MIDI-CI profiles. Full Topic

func (CIDiscoveredNode) SupportsProperties

func (c_ CIDiscoveredNode) SupportsProperties() bool

A Boolean value that indicates whether this node supports MIDI-CI properties. Full Topic

type CIDiscoveryManager

type CIDiscoveryManager struct {
	objc.Object
}

A singleton object that performs systemwide MIDI-CI discovery. Full Topic

func CIDiscoveryManagerFrom

func CIDiscoveryManagerFrom(ptr unsafe.Pointer) CIDiscoveryManager

func CIDiscoveryManager_SharedInstance

func CIDiscoveryManager_SharedInstance() CIDiscoveryManager

Returns the singleton discovery manager instance. Full Topic

func NewCIDiscoveryManager

func NewCIDiscoveryManager() CIDiscoveryManager

func (CIDiscoveryManager) DiscoverWithHandler

func (c_ CIDiscoveryManager) DiscoverWithHandler(completedHandler CIDiscoveryResponseBlock)

Discovers the available MIDI-CI nodes. Full Topic

func (CIDiscoveryManager) Init

type CIDiscoveryResponseBlock

type CIDiscoveryResponseBlock = func(discoveredNodes []CIDiscoveredNode)

A block the system calls when a MIDI-CI node discovery request completes. Full Topic

type CIInitiatiorMUID

type CIInitiatiorMUID = foundation.Number

type CIProfile

type CIProfile struct {
	objc.Object
}

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

func CIProfileFrom

func CIProfileFrom(ptr unsafe.Pointer) CIProfile

func NewCIProfile

func NewCIProfile() CIProfile

func NewCIProfileWithData

func NewCIProfileWithData(data []byte) CIProfile

Creates a MIDI profile for the specified data. Full Topic

func NewCIProfileWithDataName

func NewCIProfileWithDataName(data []byte, inName string) CIProfile

Creates a named MIDI profile for the specified data. Full Topic

func (CIProfile) Init

func (c_ CIProfile) Init() CIProfile

func (CIProfile) InitWithData

func (c_ CIProfile) InitWithData(data []byte) CIProfile

func (CIProfile) InitWithDataName

func (c_ CIProfile) InitWithDataName(data []byte, inName string) CIProfile

func (CIProfile) Name

func (c_ CIProfile) Name() string

A string that describes the profile. Full Topic

func (CIProfile) ProfileID

func (c_ CIProfile) ProfileID() []byte

The unique five-byte profile identifier that represents the profile. Full Topic

type CIProfileChangedBlock

type CIProfileChangedBlock = func(session CISession, channel ChannelNumber, profile CIProfile, enabled bool)

A block the system calls to indicate it has enabled or disabled a profile. Full Topic

type CIProfileResponderDelegate

type CIProfileResponderDelegate struct {
	// contains filtered or unexported fields
}

A delegate implementation builder for the PCIProfileResponderDelegate protocol.

func (*CIProfileResponderDelegate) ConnectInitiatorWithDeviceInfo

func (di *CIProfileResponderDelegate) ConnectInitiatorWithDeviceInfo(initiatorMUID CIInitiatiorMUID, deviceInfo CIDeviceInfo) bool

Enables a MIDI-CI initiator to create a session or reject the connection attempt. Full Topic

func (*CIProfileResponderDelegate) HandleDataForProfileOnChannelData

func (di *CIProfileResponderDelegate) HandleDataForProfileOnChannelData(aProfile CIProfile, channel ChannelNumber, inData []byte)

Processes MIDI data for a profile and channel. Full Topic

func (*CIProfileResponderDelegate) HasConnectInitiatorWithDeviceInfo

func (di *CIProfileResponderDelegate) HasConnectInitiatorWithDeviceInfo() bool

func (*CIProfileResponderDelegate) HasHandleDataForProfileOnChannelData

func (di *CIProfileResponderDelegate) HasHandleDataForProfileOnChannelData() bool

func (*CIProfileResponderDelegate) HasInitiatorDisconnected

func (di *CIProfileResponderDelegate) HasInitiatorDisconnected() bool

func (*CIProfileResponderDelegate) HasWillSetProfileOnChannelEnabled

func (di *CIProfileResponderDelegate) HasWillSetProfileOnChannelEnabled() bool

func (*CIProfileResponderDelegate) InitiatorDisconnected

func (di *CIProfileResponderDelegate) InitiatorDisconnected(initiatorMUID CIInitiatiorMUID)

Provides an opportunity to perform an action after the system disconnects the initiator. Full Topic

func (*CIProfileResponderDelegate) SetConnectInitiatorWithDeviceInfo

func (di *CIProfileResponderDelegate) SetConnectInitiatorWithDeviceInfo(f func(initiatorMUID CIInitiatiorMUID, deviceInfo CIDeviceInfo) bool)

Enables a MIDI-CI initiator to create a session or reject the connection attempt. Full Topic

func (*CIProfileResponderDelegate) SetHandleDataForProfileOnChannelData

func (di *CIProfileResponderDelegate) SetHandleDataForProfileOnChannelData(f func(aProfile CIProfile, channel ChannelNumber, inData []byte))

Processes MIDI data for a profile and channel. Full Topic

func (*CIProfileResponderDelegate) SetInitiatorDisconnected

func (di *CIProfileResponderDelegate) SetInitiatorDisconnected(f func(initiatorMUID CIInitiatiorMUID))

Provides an opportunity to perform an action after the system disconnects the initiator. Full Topic

func (*CIProfileResponderDelegate) SetWillSetProfileOnChannelEnabled

func (di *CIProfileResponderDelegate) SetWillSetProfileOnChannelEnabled(f func(aProfile CIProfile, channel ChannelNumber, shouldEnable bool) bool)

Provides an opportunity to perform an action before the system sets the profile. Full Topic

func (*CIProfileResponderDelegate) WillSetProfileOnChannelEnabled

func (di *CIProfileResponderDelegate) WillSetProfileOnChannelEnabled(aProfile CIProfile, channel ChannelNumber, shouldEnable bool) bool

Provides an opportunity to perform an action before the system sets the profile. Full Topic

type CIProfileResponderDelegateObject

type CIProfileResponderDelegateObject struct {
	objc.Object
}

A concrete type for the PCIProfileResponderDelegate protocol.

func (CIProfileResponderDelegateObject) ConnectInitiatorWithDeviceInfo

func (c_ CIProfileResponderDelegateObject) ConnectInitiatorWithDeviceInfo(initiatorMUID CIInitiatiorMUID, deviceInfo CIDeviceInfo) bool

Enables a MIDI-CI initiator to create a session or reject the connection attempt. Full Topic

func (CIProfileResponderDelegateObject) HandleDataForProfileOnChannelData

func (c_ CIProfileResponderDelegateObject) HandleDataForProfileOnChannelData(aProfile CIProfile, channel ChannelNumber, inData []byte)

Processes MIDI data for a profile and channel. Full Topic

func (CIProfileResponderDelegateObject) HasConnectInitiatorWithDeviceInfo

func (c_ CIProfileResponderDelegateObject) HasConnectInitiatorWithDeviceInfo() bool

func (CIProfileResponderDelegateObject) HasHandleDataForProfileOnChannelData

func (c_ CIProfileResponderDelegateObject) HasHandleDataForProfileOnChannelData() bool

func (CIProfileResponderDelegateObject) HasInitiatorDisconnected

func (c_ CIProfileResponderDelegateObject) HasInitiatorDisconnected() bool

func (CIProfileResponderDelegateObject) HasWillSetProfileOnChannelEnabled

func (c_ CIProfileResponderDelegateObject) HasWillSetProfileOnChannelEnabled() bool

func (CIProfileResponderDelegateObject) InitiatorDisconnected

func (c_ CIProfileResponderDelegateObject) InitiatorDisconnected(initiatorMUID CIInitiatiorMUID)

Provides an opportunity to perform an action after the system disconnects the initiator. Full Topic

func (CIProfileResponderDelegateObject) WillSetProfileOnChannelEnabled

func (c_ CIProfileResponderDelegateObject) WillSetProfileOnChannelEnabled(aProfile CIProfile, channel ChannelNumber, shouldEnable bool) bool

Provides an opportunity to perform an action before the system sets the profile. Full Topic

type CIProfileSpecificDataBlock

type CIProfileSpecificDataBlock = func(session CISession, channel ChannelNumber, profile CIProfile, profileSpecificData []byte)

A block the system calls when a MIDI-CI session or responder receives profile-specific data. Full Topic

type CIProfileState

type CIProfileState struct {
	objc.Object
}

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

func CIProfileStateFrom

func CIProfileStateFrom(ptr unsafe.Pointer) CIProfileState

func NewCIProfileState

func NewCIProfileState() CIProfileState

func NewCIProfileStateWithChannelEnabledProfilesDisabledProfiles

func NewCIProfileStateWithChannelEnabledProfilesDisabledProfiles(midiChannelNum ChannelNumber, enabled []ICIProfile, disabled []ICIProfile) CIProfileState

Creates a new profile state object for the specified MIDI channel and profiles. Full Topic

func (CIProfileState) DisabledProfiles

func (c_ CIProfileState) DisabledProfiles() []CIProfile

The object’s disabled profiles. Full Topic

func (CIProfileState) EnabledProfiles

func (c_ CIProfileState) EnabledProfiles() []CIProfile

The object’s enabled profiles. Full Topic

func (CIProfileState) Init

func (c_ CIProfileState) Init() CIProfileState

func (CIProfileState) InitWithChannelEnabledProfilesDisabledProfiles

func (c_ CIProfileState) InitWithChannelEnabledProfilesDisabledProfiles(midiChannelNum ChannelNumber, enabled []ICIProfile, disabled []ICIProfile) CIProfileState

func (CIProfileState) MidiChannel

func (c_ CIProfileState) MidiChannel() ChannelNumber

The MIDI channel to which this state applies. Full Topic

type CIResponder

type CIResponder struct {
	objc.Object
}

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

func CIResponderFrom

func CIResponderFrom(ptr unsafe.Pointer) CIResponder

func NewCIResponder

func NewCIResponder() CIResponder

func NewCIResponderWithDeviceInfoProfileDelegateProfileStatesSupportProperties

func NewCIResponderWithDeviceInfoProfileDelegateProfileStatesSupportProperties(deviceInfo ICIDeviceInfo, delegate PCIProfileResponderDelegate, profileList *foundation.Array, propertiesSupported bool) CIResponder

Creates a new responder. Full Topic

func (CIResponder) DeviceInfo

func (c_ CIResponder) DeviceInfo() CIDeviceInfo

The MIDI-CI device’s information. Full Topic

func (CIResponder) Init

func (c_ CIResponder) Init() CIResponder

func (CIResponder) InitWithDeviceInfoProfileDelegateProfileStatesSupportProperties

func (c_ CIResponder) InitWithDeviceInfoProfileDelegateProfileStatesSupportProperties(deviceInfo ICIDeviceInfo, delegate PCIProfileResponderDelegate, profileList *foundation.Array, propertiesSupported bool) CIResponder

func (CIResponder) Initiators

func (c_ CIResponder) Initiators() []CIInitiatiorMUID

An array of initiators. Full Topic

func (CIResponder) NotifyProfileOnChannelIsEnabled

func (c_ CIResponder) NotifyProfileOnChannelIsEnabled(aProfile ICIProfile, channel ChannelNumber, enabledState bool) bool

Enables or disables a profile and notifies all connected initiators. Full Topic

func (CIResponder) ProfileDelegate

func (c_ CIResponder) ProfileDelegate() CIProfileResponderDelegateObject

The profile delegate. Full Topic

func (CIResponder) SendProfileOnChannelProfileData

func (c_ CIResponder) SendProfileOnChannelProfileData(aProfile ICIProfile, channel ChannelNumber, profileSpecificData []byte) bool

Sends profile-specific data to all connected initiators. Full Topic

func (CIResponder) Start

func (c_ CIResponder) Start() bool

Starts receiving initiator requests. Full Topic

func (CIResponder) Stop

func (c_ CIResponder) Stop()

Stops receiving initiator requests and disconnects all connected initiators. Full Topic

type CISession

type CISession struct {
	objc.Object
}

An object that represents a MIDI-CI session. Full Topic

func CISessionFrom

func CISessionFrom(ptr unsafe.Pointer) CISession

func NewCISession

func NewCISession() CISession

func NewCISessionWithDiscoveredNodeDataReadyHandlerDisconnectHandler

func NewCISessionWithDiscoveredNodeDataReadyHandlerDisconnectHandler(discoveredNode ICIDiscoveredNode, handler func(), disconnectHandler CISessionDisconnectBlock) CISession

Creates a MIDI-CI session. Full Topic

func (CISession) DeviceInfo

func (c_ CISession) DeviceInfo() CIDeviceInfo

Information about a MIDI-CI device. Full Topic

func (CISession) DisableProfileOnChannelError

func (c_ CISession) DisableProfileOnChannelError(profile ICIProfile, channel ChannelNumber, outError unsafe.Pointer) bool

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

func (CISession) EnableProfileOnChannelError

func (c_ CISession) EnableProfileOnChannelError(profile ICIProfile, channel ChannelNumber, outError unsafe.Pointer) bool

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

func (CISession) Init

func (c_ CISession) Init() CISession

func (CISession) InitWithDiscoveredNodeDataReadyHandlerDisconnectHandler

func (c_ CISession) InitWithDiscoveredNodeDataReadyHandlerDisconnectHandler(discoveredNode ICIDiscoveredNode, handler func(), disconnectHandler CISessionDisconnectBlock) CISession

func (CISession) MaxPropertyRequests

func (c_ CISession) MaxPropertyRequests() foundation.Number

The maximum number of simultaneous property exchange requests, if supported. Full Topic

func (CISession) MaxSysExSize

func (c_ CISession) MaxSysExSize() foundation.Number

The maximum size of System Exclusive (SysEx) messages. Full Topic

func (CISession) MidiDestination

func (c_ CISession) MidiDestination() EntityRef

The MIDI destination with which the session is communicating. Full Topic

func (CISession) ProfileChangedCallback

func (c_ CISession) ProfileChangedCallback() CIProfileChangedBlock

An optional block the system calls after it enables or disables a profile. Full Topic

func (CISession) ProfileSpecificDataHandler

func (c_ CISession) ProfileSpecificDataHandler() CIProfileSpecificDataBlock

An optional block the system calls when a device sends profile-specific data to the session. Full Topic

func (CISession) ProfileStateForChannel

func (c_ CISession) ProfileStateForChannel(channel ChannelNumber) CIProfileState

Returns the profile state for the specified MIDI channel number. Full Topic

func (CISession) SendProfileOnChannelProfileData

func (c_ CISession) SendProfileOnChannelProfileData(profile ICIProfile, channel ChannelNumber, profileSpecificData []byte) bool

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

func (CISession) SetProfileChangedCallback

func (c_ CISession) SetProfileChangedCallback(value CIProfileChangedBlock)

An optional block the system calls after it enables or disables a profile. Full Topic

func (CISession) SetProfileSpecificDataHandler

func (c_ CISession) SetProfileSpecificDataHandler(value CIProfileSpecificDataBlock)

An optional block the system calls when a device sends profile-specific data to the session. Full Topic

func (CISession) SupportsProfileCapability

func (c_ CISession) SupportsProfileCapability() bool

A Boolean value that indicates whether the entity supports the MIDI-CI profile’s capability. Full Topic

func (CISession) SupportsPropertyCapability

func (c_ CISession) SupportsPropertyCapability() bool

A Boolean value that indicates whether the entity supports the MIDI-CI property exchange capability. Full Topic

type CISessionDisconnectBlock

type CISessionDisconnectBlock = func(session CISession, error foundation.Error)

A block the system calls when a MIDI-CI session disconnects. Full Topic

type CVStatus

type CVStatus int

MIDI status types. Full Topic

const (
	KCVStatusAssignableControl    CVStatus = 3
	KCVStatusAssignablePNC        CVStatus = 1
	KCVStatusChannelPressure      CVStatus = 13
	KCVStatusControlChange        CVStatus = 11
	KCVStatusNoteOff              CVStatus = 8
	KCVStatusNoteOn               CVStatus = 9
	KCVStatusPerNoteMgmt          CVStatus = 15
	KCVStatusPerNotePitchBend     CVStatus = 6
	KCVStatusPitchBend            CVStatus = 14
	KCVStatusPolyPressure         CVStatus = 10
	KCVStatusProgramChange        CVStatus = 12
	KCVStatusRegisteredControl    CVStatus = 2
	KCVStatusRegisteredPNC        CVStatus = 0
	KCVStatusRelAssignableControl CVStatus = 5
	KCVStatusRelRegisteredControl CVStatus = 4
)

type ChannelNumber

type ChannelNumber uint8

MIDI Channel, 0~15 (channels 1 through 16, respectively), or MIDIChannelsWholePort. Per the MIDI-CI specification, this is always a single byte. Full Topic

const (
	ChannelsWholePort ChannelNumber = 127
)

type ClientRef

type ClientRef ObjectRef

An object that maintains per-client state. Full Topic

type CompletionProc

type CompletionProc = func(request *SysexSendRequest)

A function the system calls after it has completed sending a System Exclusive (SysEx) event. Full Topic

type ControlTransform

type ControlTransform struct {
	ControlType         uint8
	RemappedControlType uint8
	ControlNumber       uint16
	Transform           uint16
	Param               int16
}

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

type DeviceListRef

type DeviceListRef ObjectRef

A list of MIDI devices. Full Topic

type DeviceRef

type DeviceRef ObjectRef

A MIDI device that contains entities. Full Topic

type DriverInterface

type DriverInterface struct {
	X_reserved     uintptr
	QueryInterface uintptr
	AddRef         uintptr
	Release        uintptr
	FindDevices    uintptr
	Start          uintptr
	Stop           uintptr
	Configure      uintptr
	Send           uintptr
	EnableSource   uintptr
	Flush          uintptr
	Monitor        uintptr
	SendPackets    uintptr
	MonitorEvents  uintptr
}

The interface to a MIDI driver. Full Topic

type EndpointRef

type EndpointRef ObjectRef

A MIDI source or destination an entity owns. Full Topic

type EntityRef

type EntityRef ObjectRef

An entity that a device owns and that contains endpoints. Full Topic

type EventList

type EventList struct {
	Protocol   uint32
	NumPackets uint32
	Packet     [1]EventPacket
}

A variable-length list of MIDI event packets. Full Topic

type EventPacket

type EventPacket struct {
	TimeStamp uint64
	WordCount uint32
	Words     [64]uint32
}

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

type EventVisitor

type EventVisitor = func(context unsafe.Pointer, timeStamp TimeStamp, message UniversalMessage)
[Full Topic]

type ICIDeviceInfo

type ICIDeviceInfo interface {
	objc.IObject
	Family() []byte
	ManufacturerID() []byte
	MidiDestination() EndpointRef
	RevisionLevel() []byte
	ModelNumber() []byte
}

An interface definition for the CIDeviceInfo class.

type ICIDiscoveredNode

type ICIDiscoveredNode interface {
	objc.IObject
	SupportsProfiles() bool
	Destination() EntityRef
	SupportsProperties() bool
	MaximumSysExSize() foundation.Number
	DeviceInfo() CIDeviceInfo
}

An interface definition for the CIDiscoveredNode class.

type ICIDiscoveryManager

type ICIDiscoveryManager interface {
	objc.IObject
	DiscoverWithHandler(completedHandler CIDiscoveryResponseBlock)
}

An interface definition for the CIDiscoveryManager class.

type ICIProfile

type ICIProfile interface {
	objc.IObject
	Name() string
	ProfileID() []byte
}

An interface definition for the CIProfile class.

type ICIProfileState

type ICIProfileState interface {
	objc.IObject
	MidiChannel() ChannelNumber
	DisabledProfiles() []CIProfile
	EnabledProfiles() []CIProfile
}

An interface definition for the CIProfileState class.

type ICIResponder

type ICIResponder interface {
	objc.IObject
	SendProfileOnChannelProfileData(aProfile ICIProfile, channel ChannelNumber, profileSpecificData []byte) bool
	Start() bool
	Stop()
	NotifyProfileOnChannelIsEnabled(aProfile ICIProfile, channel ChannelNumber, enabledState bool) bool
	Initiators() []CIInitiatiorMUID
	ProfileDelegate() CIProfileResponderDelegateObject
	DeviceInfo() CIDeviceInfo
}

An interface definition for the CIResponder class.

type ICISession

type ICISession interface {
	objc.IObject
	DisableProfileOnChannelError(profile ICIProfile, channel ChannelNumber, outError unsafe.Pointer) bool
	SendProfileOnChannelProfileData(profile ICIProfile, channel ChannelNumber, profileSpecificData []byte) bool
	EnableProfileOnChannelError(profile ICIProfile, channel ChannelNumber, outError unsafe.Pointer) bool
	ProfileStateForChannel(channel ChannelNumber) CIProfileState
	DeviceInfo() CIDeviceInfo
	MidiDestination() EntityRef
	SupportsProfileCapability() bool
	SupportsPropertyCapability() bool
	MaxPropertyRequests() foundation.Number
	MaxSysExSize() foundation.Number
	ProfileChangedCallback() CIProfileChangedBlock
	SetProfileChangedCallback(value CIProfileChangedBlock)
	ProfileSpecificDataHandler() CIProfileSpecificDataBlock
	SetProfileSpecificDataHandler(value CIProfileSpecificDataBlock)
}

An interface definition for the CISession class.

type INetworkConnection

type INetworkConnection interface {
	objc.IObject
	Host() NetworkHost
}

An interface definition for the NetworkConnection class.

type INetworkHost

type INetworkHost interface {
	objc.IObject
	HasSameAddressAs(other INetworkHost) bool
	NetServiceName() string
	Address() string
	Port() uint
	NetServiceDomain() string
	Name() string
}

An interface definition for the NetworkHost class.

type INetworkSession

type INetworkSession interface {
	objc.IObject
	RemoveConnection(connection INetworkConnection) bool
	AddConnection(connection INetworkConnection) bool
	SourceEndpoint() EndpointRef
	Connections() foundation.Set
	Contacts() foundation.Set
	DestinationEndpoint() EndpointRef
	AddContact(contact INetworkHost) bool
	RemoveContact(contact INetworkHost) bool
	ConnectionPolicy() NetworkConnectionPolicy
	SetConnectionPolicy(value NetworkConnectionPolicy)
	NetworkName() string
	IsEnabled() bool
	SetEnabled(value bool)
	LocalName() string
	NetworkPort() uint
}

An interface definition for the NetworkSession class.

type IOErrorNotification

type IOErrorNotification struct {
	MessageID    uint32
	MessageSize  uint32
	DriverDevice uint32
	ErrorCode    int32
}

A general I/O error notification. Full Topic

type KInvalidUniqueID

type KInvalidUniqueID UniqueID

An invalid unique identifier. Full Topic

const (
	KKInvalidUniqueID KInvalidUniqueID = 0
)

type MessageType

type MessageType int

Supported MIDI message types. Full Topic

const (
	KMessageTypeChannelVoice1 MessageType = 2
	KMessageTypeChannelVoice2 MessageType = 4
	KMessageTypeData128       MessageType = 5
	KMessageTypeSysEx         MessageType = 3
	KMessageTypeSystem        MessageType = 1
	KMessageTypeUnknownF      MessageType = 15
	KMessageTypeUtility       MessageType = 0
)

type Message_128

type Message_128 struct {
	Word0 uint32
	Word1 uint32
	Word2 uint32
	Word3 uint32
}

A 128-bit MIDI message. Full Topic

type Message_32

type Message_32 uint32

A 32-bit MIDI message. Full Topic

type Message_64

type Message_64 struct {
	Word0 uint32
	Word1 uint32
}

A 64-bit MIDI message. Full Topic

type Message_96

type Message_96 struct {
	Word0 uint32
	Word1 uint32
	Word2 uint32
}

A 96-bit MIDI message. Full Topic

type NetworkConnection

type NetworkConnection struct {
	objc.Object
}

An object that connects a session to a host. Full Topic

func NetworkConnectionFrom

func NetworkConnectionFrom(ptr unsafe.Pointer) NetworkConnection

func NetworkConnection_ConnectionWithHost

func NetworkConnection_ConnectionWithHost(host INetworkHost) NetworkConnection

Creates a connection to the specified host. Full Topic

func NewNetworkConnection

func NewNetworkConnection() NetworkConnection

func (NetworkConnection) Host

func (n_ NetworkConnection) Host() NetworkHost

The host connection. Full Topic

func (NetworkConnection) Init

type NetworkConnectionPolicy

type NetworkConnectionPolicy uint
[Full Topic]
const (
	NetworkConnectionPolicy_Anyone             NetworkConnectionPolicy = 2
	NetworkConnectionPolicy_HostsInContactList NetworkConnectionPolicy = 1
	NetworkConnectionPolicy_NoOne              NetworkConnectionPolicy = 0
)

type NetworkHost

type NetworkHost struct {
	objc.Object
}

An object that represents the host’s network address. Full Topic

func NetworkHostFrom

func NetworkHostFrom(ptr unsafe.Pointer) NetworkHost

func NetworkHost_HostWithNameAddressPort

func NetworkHost_HostWithNameAddressPort(name string, address string, port uint) NetworkHost

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

func NetworkHost_HostWithNameNetService

func NetworkHost_HostWithNameNetService(name string, netService foundation.INetService) NetworkHost

Creates a host with the specified name and net service. Full Topic

func NetworkHost_HostWithNameNetServiceNameNetServiceDomain

func NetworkHost_HostWithNameNetServiceNameNetServiceDomain(name string, netServiceName string, netServiceDomain string) NetworkHost

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

func NewNetworkHost

func NewNetworkHost() NetworkHost

func (NetworkHost) Address

func (n_ NetworkHost) Address() string

The host address. Full Topic

func (NetworkHost) HasSameAddressAs

func (n_ NetworkHost) HasSameAddressAs(other INetworkHost) bool

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

func (NetworkHost) Init

func (n_ NetworkHost) Init() NetworkHost

func (NetworkHost) Name

func (n_ NetworkHost) Name() string

The host name. Full Topic

func (NetworkHost) NetServiceDomain

func (n_ NetworkHost) NetServiceDomain() string

The net service domain. Full Topic

func (NetworkHost) NetServiceName

func (n_ NetworkHost) NetServiceName() string

The net service name. Full Topic

func (NetworkHost) Port

func (n_ NetworkHost) Port() uint

The host port. Full Topic

type NetworkSession

type NetworkSession struct {
	objc.Object
}

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

func NetworkSessionFrom

func NetworkSessionFrom(ptr unsafe.Pointer) NetworkSession

func NetworkSession_DefaultSession

func NetworkSession_DefaultSession() NetworkSession

Returns the default singleton session. Full Topic

func NewNetworkSession

func NewNetworkSession() NetworkSession

func (NetworkSession) AddConnection

func (n_ NetworkSession) AddConnection(connection INetworkConnection) bool

Adds a new connection to this session. Full Topic

func (NetworkSession) AddContact

func (n_ NetworkSession) AddContact(contact INetworkHost) bool

Adds a host as a contact. Full Topic

func (NetworkSession) ConnectionPolicy

func (n_ NetworkSession) ConnectionPolicy() NetworkConnectionPolicy

The policy that determines who can connect to this session. Full Topic

func (NetworkSession) Connections

func (n_ NetworkSession) Connections() foundation.Set

Returns the session’s set of MIDI network connections. Full Topic

func (NetworkSession) Contacts

func (n_ NetworkSession) Contacts() foundation.Set

Returns the array of network hosts. Full Topic

func (NetworkSession) DestinationEndpoint

func (n_ NetworkSession) DestinationEndpoint() EndpointRef

Returns the session’s destination endpoint. Full Topic

func (NetworkSession) Init

func (n_ NetworkSession) Init() NetworkSession

func (NetworkSession) IsEnabled

func (n_ NetworkSession) IsEnabled() bool

A Boolean value that determines whether the session is enabled. Full Topic

func (NetworkSession) LocalName

func (n_ NetworkSession) LocalName() string

The name of this session’s entity. Full Topic

func (NetworkSession) NetworkName

func (n_ NetworkSession) NetworkName() string

The name with which this session advertises itself over Bonjour. Full Topic

func (NetworkSession) NetworkPort

func (n_ NetworkSession) NetworkPort() uint

The session’s UDP port. Full Topic

func (NetworkSession) RemoveConnection

func (n_ NetworkSession) RemoveConnection(connection INetworkConnection) bool

Removes a connection from this session. Full Topic

func (NetworkSession) RemoveContact

func (n_ NetworkSession) RemoveContact(contact INetworkHost) bool

Removes a host as a contact. Full Topic

func (NetworkSession) SetConnectionPolicy

func (n_ NetworkSession) SetConnectionPolicy(value NetworkConnectionPolicy)

The policy that determines who can connect to this session. Full Topic

func (NetworkSession) SetEnabled

func (n_ NetworkSession) SetEnabled(value bool)

A Boolean value that determines whether the session is enabled. Full Topic

func (NetworkSession) SourceEndpoint

func (n_ NetworkSession) SourceEndpoint() EndpointRef

Returns the session’s source endpoint. Full Topic

type NoteAttribute

type NoteAttribute uint8
[Full Topic]
const (
	KNoteAttributeManufacturerSpecific NoteAttribute = 1
	KNoteAttributeNone                 NoteAttribute = 0
	KNoteAttributePitch                NoteAttribute = 3
	KNoteAttributeProfileSpecific      NoteAttribute = 2
)

type Notification

type Notification struct {
	MessageID   uint32
	MessageSize uint32
}

A message that describes a system state change. Full Topic

type NotificationMessageID

type NotificationMessageID int32

The types of state changes the system supports. Full Topic

const (
	KMsgIOError                NotificationMessageID = 7
	KMsgObjectAdded            NotificationMessageID = 2
	KMsgObjectRemoved          NotificationMessageID = 3
	KMsgPropertyChanged        NotificationMessageID = 4
	KMsgSerialPortOwnerChanged NotificationMessageID = 6
	KMsgSetupChanged           NotificationMessageID = 1
	KMsgThruConnectionsChanged NotificationMessageID = 5
)

type NotifyBlock

type NotifyBlock = func(message *Notification)

A callback block for notifying clients of state changes. Full Topic

type NotifyProc

type NotifyProc = func(message *Notification, refCon unsafe.Pointer)

A callback function for notifying clients of state changes. Full Topic

type ObjectAddRemoveNotification

type ObjectAddRemoveNotification struct {
	MessageID   uint32
	MessageSize uint32
	Parent      uint32
	ParentType  int32
	Child       uint32
	ChildType   int32
}

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

type ObjectPropertyChangeNotification

type ObjectPropertyChangeNotification struct {
	MessageID    uint32
	MessageSize  uint32
	Object       uint32
	ObjectType   int32
	PropertyName corefoundation.StringRef //*_Ctype_struct___CFString
}

A message that describes the change to an object property. Full Topic

type ObjectRef

type ObjectRef uint32

The common base class for many of the framework’s objects. Full Topic

type ObjectType

type ObjectType int32

The MIDI object types that the system supports. Full Topic

const (
	KObjectType_Destination         ObjectType = 3
	KObjectType_Device              ObjectType = 0
	KObjectType_Entity              ObjectType = 1
	KObjectType_ExternalDestination ObjectType = 19
	KObjectType_ExternalDevice      ObjectType = 16
	KObjectType_ExternalEntity      ObjectType = 17
	KObjectType_ExternalMask        ObjectType = 16
	KObjectType_ExternalSource      ObjectType = 18
	KObjectType_Other               ObjectType = -1
	KObjectType_Source              ObjectType = 2
)

type PCIProfileResponderDelegate

type PCIProfileResponderDelegate interface {
	// optional
	InitiatorDisconnected(initiatorMUID CIInitiatiorMUID)
	HasInitiatorDisconnected() bool

	// optional
	ConnectInitiatorWithDeviceInfo(initiatorMUID CIInitiatiorMUID, deviceInfo CIDeviceInfo) bool
	HasConnectInitiatorWithDeviceInfo() bool

	// optional
	WillSetProfileOnChannelEnabled(aProfile CIProfile, channel ChannelNumber, shouldEnable bool) bool
	HasWillSetProfileOnChannelEnabled() bool

	// optional
	HandleDataForProfileOnChannelData(aProfile CIProfile, channel ChannelNumber, inData []byte)
	HasHandleDataForProfileOnChannelData() bool
}

A protocol that defines the methods to respond to MIDI-CI responder life-cycle events. Full Topic

type Packet

type Packet struct {
	TimeStamp uint64
	Length    uint16
	Data      [256]uint8
	Pad_cgo_0 [2]byte
}

A collection of simultaneous MIDI events. Full Topic

type PacketList

type PacketList struct {
	NumPackets uint32
	Pad_cgo_0  [268]byte
}

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

type PerNoteManagementOptions

type PerNoteManagementOptions uint8
[Full Topic]
const (
	KPerNoteManagementDetach PerNoteManagementOptions = 2
	KPerNoteManagementReset  PerNoteManagementOptions = 1
)

type PortRef

type PortRef ObjectRef

A MIDI connection that a client maintains. Full Topic

type ProgramChangeOptions

type ProgramChangeOptions uint8
[Full Topic]
const (
	KProgramChangeBankValid ProgramChangeOptions = 1
)

type ProtocolID

type ProtocolID int32

Specifies a MIDI protocol variant. Full Topic

const (
	KProtocol_1_0 ProtocolID = 1
	KProtocol_2_0 ProtocolID = 2
)

type ReadBlock

type ReadBlock = func(pktlist *PacketList, srcConnRefCon unsafe.Pointer)

A block receiving MIDI input. Full Topic

type ReadProc

type ReadProc = func(pktlist *PacketList, readProcRefCon unsafe.Pointer, srcConnRefCon unsafe.Pointer)

A function receiving MIDI input. Full Topic

type ReceiveBlock

type ReceiveBlock = func(evtlist *EventList, srcConnRefCon unsafe.Pointer)

A block receiving MIDI input that includes the incoming messages and a refCon to identify the source. Full Topic

type SetupRef

type SetupRef ObjectRef

A type that represents the global state of the MIDI system, that contains lists of the devices and serial port owners. Full Topic

type SysExStatus

type SysExStatus int

MIDI System Exclusive (SysEx) types. Full Topic

const (
	KSysExStatusComplete            SysExStatus = 0
	KSysExStatusContinue            SysExStatus = 2
	KSysExStatusEnd                 SysExStatus = 3
	KSysExStatusMixedDataSetHeader  SysExStatus = 8
	KSysExStatusMixedDataSetPayload SysExStatus = 9
	KSysExStatusStart               SysExStatus = 1
)

type SysexSendRequest

type SysexSendRequest struct {
	Destination      uint32
	Data             *uint8
	BytesToSend      uint32
	Complete         uint8
	Reserved         [3]uint8
	CompletionProc   uintptr
	CompletionRefCon uintptr
}

A request to asynchronously transmit a single System Exclusive (SysEx) event to a destination. Full Topic

type SystemStatus

type SystemStatus int

MIDI System status types. Full Topic

const (
	KStatusActiveSending    SystemStatus = 254
	KStatusActiveSensing    SystemStatus = 254
	KStatusContinue         SystemStatus = 251
	KStatusEndOfExclusive   SystemStatus = 247
	KStatusMTC              SystemStatus = 241
	KStatusSongPosPointer   SystemStatus = 242
	KStatusSongSelect       SystemStatus = 243
	KStatusStart            SystemStatus = 250
	KStatusStartOfExclusive SystemStatus = 240
	KStatusStop             SystemStatus = 252
	KStatusSystemReset      SystemStatus = 255
	KStatusTimingClock      SystemStatus = 248
	KStatusTuneRequest      SystemStatus = 246
)

type ThruConnectionEndpoint

type ThruConnectionEndpoint struct {
	EndpointRef uint32
	UniqueID    int32
}

A source or destination in a MIDI thru connection. Full Topic

type ThruConnectionParams

type ThruConnectionParams struct {
	Version              uint32
	NumSources           uint32
	Sources              [8]ThruConnectionEndpoint
	NumDestinations      uint32
	Destinations         [8]ThruConnectionEndpoint
	ChannelMap           [16]uint8
	LowVelocity          uint8
	HighVelocity         uint8
	LowNote              uint8
	HighNote             uint8
	NoteNumber           Transform
	Velocity             Transform
	KeyPressure          Transform
	ChannelPressure      Transform
	ProgramChange        Transform
	PitchBend            Transform
	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. Full Topic

type ThruConnectionRef

type ThruConnectionRef ObjectRef

An opaque reference to a play-through connection. Full Topic

type TimeStamp

type TimeStamp uint64

The time on the host clock when the event occurred. Full Topic

type Transform

type Transform struct {
	Transform uint16
	Param     int16
}

The transformation of a single type of MIDI event. Full Topic

type TransformControlType

type TransformControlType uint8

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

const (
	KControlType_14Bit     TransformControlType = 1
	KControlType_14BitNRPN TransformControlType = 5
	KControlType_14BitRPN  TransformControlType = 3
	KControlType_7Bit      TransformControlType = 0
	KControlType_7BitNRPN  TransformControlType = 4
	KControlType_7BitRPN   TransformControlType = 2
)

type TransformType

type TransformType uint16

Values that specify the type of MIDI transformation. Full Topic

const (
	KTransform_Add        TransformType = 8
	KTransform_FilterOut  TransformType = 1
	KTransform_MapControl TransformType = 2
	KTransform_MapValue   TransformType = 12
	KTransform_MaxValue   TransformType = 11
	KTransform_MinValue   TransformType = 10
	KTransform_None       TransformType = 0
	KTransform_Scale      TransformType = 9
)

type UniqueID

type UniqueID int32

A MIDI object’s unique identifier. Full Topic

type UniversalMessage

type UniversalMessage struct {
	Type      uint32
	Group     uint8
	Reserved  [3]uint8
	Utility   uintptr // _Ctype_struct___0
	Pad_cgo_0 [12]byte
}
[Full Topic]

type UtilityStatus

type UtilityStatus int
[Full Topic]
const (
	KUtilityStatusJitterReductionClock     UtilityStatus = 1
	KUtilityStatusJitterReductionTimestamp UtilityStatus = 2
	KUtilityStatusNOOP                     UtilityStatus = 0
)

type ValueMap

type ValueMap 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. Full Topic

Jump to

Keyboard shortcuts

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