Ссылка MIDI Services
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreMIDI
Objective C
@import CoreMIDI;
Драйверам MIDI принадлежит и MIDI-устройства управления, включающие такие вещи как интерфейсы USB, клавиатуры MIDI, и т.д. Устройство определяется как физический объект, который был бы представлен единственным значком, если бы было графическое представление студии.
MIDI-устройство может иметь многократные логически отличные субкомпоненты. Например, одно устройство может охватить синтезатор MIDI и пару портов MIDI, оба адресуемые через USB-порт. Каждый такой элемент устройства вызывают объектом MIDI.
Объект MIDI может иметь любое число конечных точек MIDI, каждая из которых является источником или местом назначения потока MIDI с 16 каналами. Путем группировки конечных точек устройства в объекты система имеет достаточно информации для приложения для создания разумных предположений по умолчанию о том, как связаться реверсивным способом с каждым объектом, как необходимо в библиотекаре MIDI приложения.
Core MIDI присоединяет набор свойств к каждому объекту, которым он управляет. Некоторые свойства являются динамическими характеристиками устройства — такими как MIDI, получают канал и монопольный системой IDs. Другие свойства являются вопросом пользовательской настройки — такой как выбор значка, и должно ли устройство появиться в списках возможных контроллеров. Тем не менее другие свойства статичны и могли искаться в базе данных, с помощью производителя устройства и имен модели как ключ.
Платформа Core MIDI использует IPC (межпроцессное взаимодействие) для передачи с серверным процессом, сервером MIDI. Серверный процесс поочередно загружается и управляет всей связью с, драйвер MIDI.
Начинаясь в iOS 6, приложения должны иметь audio ключ в их UIBackgroundModes для использования CoreMIDI MIDISourceCreate и MIDIDestinationCreate функции. Если ключ не устанавливается, эти функции возвращают kMIDINotPermitted (-10844). Посмотрите информационную Ключевую Ссылку Списка свойств для получения дополнительной информации.
-
Создает входной порт, через который клиент может получить входящие сообщения MIDI от любого источника MIDI.
Объявление
Swift
func MIDIInputPortCreate(_client: MIDIClientRef, _portName: CFString!, _readProc: MIDIReadProc, _refCon: UnsafeMutablePointer<Void>, _outPort: UnsafeMutablePointer<MIDIPortRef>) -> OSStatusObjective C
OSStatus MIDIInputPortCreate ( MIDIClientRef client, CFStringRef portName, MIDIReadProc readProc, void *refCon, MIDIPortRef *outPort );Параметры
clientКлиент для владения недавно создаваемым портом.
portNameИмя порта.
readProcMIDIReadProc, который вызовут с входящим MIDI из источников, подключенных к этому порту.
refConrefCon передал readHook.
outPortПо успешному возврату, точкам к недавно создаваемому MIDIPort.
Возвращаемое значение
Код результата.
Обсуждение
После создания порта используйте MIDIPortConnectSource для установления входного соединения от любого числа источников к порту.
readProc вызовут на отдельном высокоприоритетном потоке, принадлежавшем CoreMIDI.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Создает выходной порт, через который клиент может отправить исходящие сообщения MIDI любому месту назначения MIDI.
Объявление
Swift
func MIDIOutputPortCreate(_client: MIDIClientRef, _portName: CFString!, _outPort: UnsafeMutablePointer<MIDIPortRef>) -> OSStatusObjective C
OSStatus MIDIOutputPortCreate ( MIDIClientRef client, CFStringRef portName, MIDIPortRef *outPort );Параметры
clientКлиент для владения недавно создаваемым портом
portNameИмя порта.
outPortПо успешному возврату, точкам к недавно создаваемому MIDIPort.
Возвращаемое значение
Код результата.
Обсуждение
Выходные порты обеспечивают механизм для слияния MIDI. CoreMIDI предполагает, что каждый выходной порт будет ответственен за отправку только единственного потока MIDI каждому месту назначения, несмотря на то, что единственный порт может адресовать все места назначения в системе.
Когда приложение способно к направлению многократных одновременных потоков MIDI тому же месту назначения, многократные выходные порты только необходимы.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Устанавливает соединение от источника до входного порта клиента.
Объявление
Swift
func MIDIPortConnectSource(_port: MIDIPortRef, _source: MIDIEndpointRef, _connRefCon: UnsafeMutablePointer<Void>) -> OSStatusObjective C
OSStatus MIDIPortConnectSource ( MIDIPortRef port, MIDIEndpointRef source, void *connRefCon );Параметры
portПорт, с которым можно создать соединение. readProc этого порта вызывают с входящим MIDI из источника.
sourceИсточник, из которого можно создать соединение.
connRefConЭтот refCon передается MIDIReadProc как способ идентифицировать источник.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Закрывает ранее установленное соединение источника к входному порту.
Объявление
Swift
func MIDIPortDisconnectSource(_port: MIDIPortRef, _source: MIDIEndpointRef) -> OSStatusObjective C
OSStatus MIDIPortDisconnectSource ( MIDIPortRef port, MIDIEndpointRef source );Параметры
portПорт, соединение которого закрывается.
sourceИсточник, из которого можно закрыть соединение с указанным портом.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Располагает объект MIDIPort.
Объявление
Swift
func MIDIPortDispose(_port: MIDIPortRef) -> OSStatusObjective C
OSStatus MIDIPortDispose ( MIDIPortRef port );Параметры
portПорт для расположения.
Возвращаемое значение
Код результата.
Обсуждение
Не обычно необходимо вызвать эту функцию; когда MIDIClient's приложения автоматически расположен в завершении, или явно, через MIDIClientDispose, порты клиента автоматически расположены в то время.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Добавляет событие MIDI к MIDIPacketList.
Объявление
Swift
func MIDIPacketListAdd(_pktlist: UnsafeMutablePointer<MIDIPacketList>, _listSize: Int, _curPacket: UnsafeMutablePointer<MIDIPacket>, _time: MIDITimeStamp, _nData: Int, _data: UnsafePointer<UInt8>) -> UnsafeMutablePointer<MIDIPacket>Objective C
MIDIPacket * MIDIPacketListAdd ( MIDIPacketList *pktlist, ByteCount listSize, MIDIPacket *curPacket, MIDITimeStamp time, ByteCount nData, const Byte *data );Параметры
pktlistПакетный список, к которому должно быть добавлено событие.
listSizeРазмер, в байтах, пакетного списка.
curPacketПакетный указатель, возвращенный предыдущим вызовом в MIDIPacketListInit или MIDIPacketListAdd для этого пакетного списка.
timeВремя нового события.
nDataДлина нового события, в байтах.
dataНовое событие. Может быть единственное событие MIDI или частичное sys-исключая событие. Рабочее состояние не разрешено.
Возвращаемое значение
Нуль возвратов, если не было комнаты в пакете для события; иначе возвращает пакетный указатель, который должен быть передан как curPacket в последующем вызове к этой функции.
Обсуждение
Максимальный размер пакетного списка составляет 65 536 байтов. Большие сообщения sysex должны быть отправлены в списках пакета меньшего размера.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Подготавливает MIDIPacketList, который будет накоплен динамично.
Объявление
Swift
func MIDIPacketListInit(_pktlist: UnsafeMutablePointer<MIDIPacketList>) -> UnsafeMutablePointer<MIDIPacket>Objective C
MIDIPacket * MIDIPacketListInit ( MIDIPacketList *pktlist );Параметры
pktlistПакетный список, который будет инициализирован.
Возвращаемое значение
Указатель на первый MIDIPacket в пакетном списке.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Определяет местоположение устройства, внешнего устройства, объекта или конечной точки ее uniqueID.
Объявление
Swift
func MIDIObjectFindByUniqueID(_inUniqueID: MIDIUniqueID, _outObject: UnsafeMutablePointer<MIDIObjectRef>, _outObjectType: UnsafeMutablePointer<MIDIObjectType>) -> OSStatusObjective C
OSStatus MIDIObjectFindByUniqueID ( MIDIUniqueID inUniqueID, MIDIObjectRef *outObject, MIDIObjectType *outObjectType );Параметры
inUniqueIDuniqueID объекта искать. (Это должно быть результатом более раннего вызова к MIDIObjectGetIntegerProperty для свойства kMIDIPropertyUniqueID).
outObjectВозвращенный объект или NULL, если объект не был найден или ошибка, произошел. Это должно быть брошено к надлежащему типу (MIDIDeviceRef, MIDIEntityRef, MIDIEndpointRef), согласно *outObjectType.
outObjectTypeНа выходе, типе найденного объекта; неопределенный, если ни одно найденное.
Возвращаемое значение
Код ошибки OSStatus, включая kMIDIObjectNotFound, если нет никакого объекта с указанным uniqueID.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Получает свойство типа данных объекта.
Объявление
Swift
func MIDIObjectGetDataProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _outData: UnsafeMutablePointer<Unmanaged<CFData>?>) -> OSStatusObjective C
OSStatus MIDIObjectGetDataProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFDataRef *outData );Параметры
objОбъект, свойство которого должно быть возвращено.
propertyIDИмя свойства для возврата.
outDataПо успешному возврату, значению свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Получает свойство типа словаря объекта.
Объявление
Swift
func MIDIObjectGetDictionaryProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _outDict: UnsafeMutablePointer<Unmanaged<CFDictionary>?>) -> OSStatusObjective C
OSStatus MIDIObjectGetDictionaryProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFDictionaryRef *outDict );Параметры
objОбъект, свойство которого должно быть возвращено.
propertyIDИмя свойства для возврата.
outDictПо успешному возврату, значению свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Получает свойство целого типа объекта.
Объявление
Swift
func MIDIObjectGetIntegerProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _outValue: UnsafeMutablePointer<Int32>) -> OSStatusObjective C
OSStatus MIDIObjectGetIntegerProperty ( MIDIObjectRef obj, CFStringRef propertyID, SInt32 *outValue );Параметры
objОбъект, свойство которого должно быть возвращено.
propertyIDИмя свойства для возврата.
outValueПо успешному возврату, значению свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Получает все свойства объекта.
Объявление
Swift
func MIDIObjectGetProperties(_obj: MIDIObjectRef, _outProperties: UnsafeMutablePointer<Unmanaged<CFPropertyList>?>, _deep: Boolean) -> OSStatusObjective C
OSStatus MIDIObjectGetProperties ( MIDIObjectRef obj, CFPropertyListRef *outProperties, Boolean deep );Параметры
objОбъект, свойства которого должны быть возвращены.
outPropertiesПо успешному возврату, свойствам объекта.
deepистина, если дочерние объекты объекта должны быть включены (например, объекты устройства или конечные точки объекта).
Возвращаемое значение
Код результата.
Обсуждение
Возвращает CFPropertyList всех свойств объекта. Список свойств может быть словарем или массивом. Словари отображают имена свойства (CFString) на значения, которые могут быть CFNumber, CFString или CFData. Массивы являются массивами таких значений.
Свойства, которые объект наследовал от его объекта владения (если таковые имеются) не включены.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Получает свойство строкового типа объекта.
Объявление
Swift
func MIDIObjectGetStringProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _str: UnsafeMutablePointer<Unmanaged<CFString>?>) -> OSStatusObjective C
OSStatus MIDIObjectGetStringProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFStringRef *str );Параметры
objОбъект, свойство которого должно быть возвращено.
propertyIDИмя свойства для возврата.
strПо успешному возврату, значению свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Удаляет свойство объекта.
Объявление
Swift
func MIDIObjectRemoveProperty(_obj: MIDIObjectRef, _propertyID: CFString!) -> OSStatusObjective C
OSStatus MIDIObjectRemoveProperty ( MIDIObjectRef obj, CFStringRef propertyID );Параметры
objОбъект, свойство которого должно быть удалено.
propertyIDСвойство, которое будет удалено.
Возвращаемое значение
Код результата.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Устанавливает свойство типа данных объекта.
Объявление
Swift
func MIDIObjectSetDataProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _data: CFData!) -> OSStatusObjective C
OSStatus MIDIObjectSetDataProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFDataRef data );Параметры
objОбъект, свойство которого должно быть изменено.
propertyIDИмя свойства для установки.
dataНовое значение свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Устанавливает свойство типа словаря объекта.
Объявление
Swift
func MIDIObjectSetDictionaryProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _dict: CFDictionary!) -> OSStatusObjective C
OSStatus MIDIObjectSetDictionaryProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFDictionaryRef data );Параметры
objОбъект, свойство которого должно быть изменено.
propertyIDИмя свойства для установки.
dictНовое значение свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Устанавливает свойство целого типа объекта.
Объявление
Swift
func MIDIObjectSetIntegerProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _value: Int32) -> OSStatusObjective C
OSStatus MIDIObjectSetIntegerProperty ( MIDIObjectRef obj, CFStringRef propertyID, SInt32 value );Параметры
objОбъект, свойство которого должно быть изменено.
propertyIDИмя свойства для установки.
valueНовое значение свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Устанавливает свойство строкового типа объекта.
Объявление
Swift
func MIDIObjectSetStringProperty(_obj: MIDIObjectRef, _propertyID: CFString!, _str: CFString!) -> OSStatusObjective C
OSStatus MIDIObjectSetStringProperty ( MIDIObjectRef obj, CFStringRef propertyID, CFStringRef str );Параметры
objОбъект, свойство которого должно быть изменено.
propertyIDИмя свойства для установки.
strНовое значение свойства.
Возвращаемое значение
Код результата.
Обсуждение
(См. документацию MIDIObjectRef для получения информации о свойствах.)
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Нерасписания, ранее отправленные пакеты.
Объявление
Swift
func MIDIFlushOutput(_dest: MIDIEndpointRef) -> OSStatusObjective C
OSStatus MIDIFlushOutput ( MIDIEndpointRef dest );Параметры
destВсе незаконченные события, которые, как запланировали, будут отправлены этому месту назначения, не запланированы. ЕСЛИ НОЛЬ, работа применяется ко всем местам назначения.
Обсуждение
Клиенты могут использовать MIDIFlushOutput для отмены отправки пакетов, ранее запланированных для будущей поставки.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Распределяет входящий MIDI от источника до клиентских входных портов, подключенных к тому источнику.
Объявление
Swift
func MIDIReceived(_src: MIDIEndpointRef, _pktlist: UnsafePointer<MIDIPacketList>) -> OSStatusObjective C
OSStatus MIDIReceived ( MIDIEndpointRef src, const MIDIPacketList *pktlist );Параметры
srcИсточник, передающий MIDI.
pktlistСобытия MIDI, которые будут переданы.
Возвращаемое значение
Код результата.
Обсуждение
Драйверы должны вызвать эту функцию при получении MIDI из источника.
Клиенты, создавшие виртуальные источники, с помощью MIDISourceCreate, должны вызвать эту функцию, когда источник генерирует MIDI.
В отличие от MIDISend (), метка времени 0 не эквивалентна «теперь»; драйвер или виртуальный источник ответственны за помещение надлежащих меток времени в пакетах.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Остановки и перезапуски MIDI I/O.
Объявление
Swift
func MIDIRestart() -> OSStatusObjective C
OSStatus MIDIRestart ( void );Возвращаемое значение
Код результата.
Обсуждение
Это полезно для того, чтобы вынуждать CoreMIDI попросить, чтобы его драйверы повторно отсканировали для аппаратных средств.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Отправляет MIDI месту назначения.
Объявление
Swift
func MIDISend(_port: MIDIPortRef, _dest: MIDIEndpointRef, _pktlist: UnsafePointer<MIDIPacketList>) -> OSStatusObjective C
OSStatus MIDISend ( MIDIPortRef port, MIDIEndpointRef dest, const MIDIPacketList *pktlist );Параметры
portВыходной порт, через который должен быть отправлен MIDI.
destМесто назначения для получения событий.
pktlistСобытия MIDI, которые будут отправлены.
Возвращаемое значение
Код результата.
Обсуждение
События с будущими метками времени планируются для будущей поставки. CoreMIDI выполняет, любому было нужно слияние MIDI.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Отправляет монопольное единой системой событие, асинхронно.
Объявление
Swift
func MIDISendSysex(_request: UnsafeMutablePointer<MIDISysexSendRequest>) -> OSStatusObjective C
OSStatus MIDISendSysex ( MIDISysexSendRequest *request );Параметры
requestСодержит место назначения и указатель на данные MIDI, которые будут отправлены.
Возвращаемое значение
Код результата.
Обсуждение
запрос-> данные должен указать на единственный MIDI на монопольное системой сообщение или часть этого.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты одно из внешних устройств в системе.
Объявление
Swift
func MIDIGetExternalDevice(_deviceIndex0: Int) -> MIDIDeviceRefObjective C
MIDIDeviceRef MIDIGetExternalDevice ( ItemCount deviceIndex0 );Параметры
deviceIndex0Индекс (0... MIDIGetNumberOfDevices ()-1) устройства для возврата.
Возвращаемое значение
Ссылка на устройство или NULL, если произошла ошибка.
Обсуждение
Используйте это для перечисления внешних устройств в системе.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число внешних MIDI-устройств в системе.
Объявление
Swift
func MIDIGetNumberOfExternalDevices() -> IntObjective C
ItemCount MIDIGetNumberOfExternalDevices ( void );Возвращаемое значение
Число внешних устройств в системе, или 0, если произошла ошибка.
Обсуждение
Внешние MIDI-устройства являются MIDI-устройствами, подключенными к конечным точкам драйвера через стандартный кабель MIDI. Их присутствие является абсолютно дополнительным, только когда UI (такой как Аудио Установка MIDI) добавляет их.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты одно из мест назначения данного объекта.
Объявление
Swift
func MIDIEntityGetDestination(_entity: MIDIEntityRef, _destIndex0: Int) -> MIDIEndpointRefObjective C
MIDIEndpointRef MIDIEntityGetDestination ( MIDIEntityRef entity, ItemCount destIndex0 );Параметры
entityЗапрашиваемый объект.
destIndex0Индекс (0... MIDIEntityGetNumberOfDestinations (объект) - 1) места назначения для возврата
Возвращаемое значение
Ссылка на место назначения или NULL, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает устройство объекта.
Объявление
Swift
func MIDIEntityGetDevice(_inEntity: MIDIEntityRef, _outDevice: UnsafeMutablePointer<MIDIDeviceRef>) -> OSStatusObjective C
OSStatus MIDIEntityGetDevice ( MIDIEntityRef inEntity, MIDIDeviceRef *outDevice );Параметры
inEntityЗапрашиваемый объект.
outDeviceПо успешному возврату, устройству владения объекта.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число мест назначения в данном объекте.
Объявление
Swift
func MIDIEntityGetNumberOfDestinations(_entity: MIDIEntityRef) -> IntObjective C
ItemCount MIDIEntityGetNumberOfDestinations ( MIDIEntityRef entity );Параметры
entityЗапрашиваемый объект
Возвращаемое значение
Число мест назначения, которые объект содержит, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число источников в данном объекте.
Объявление
Swift
func MIDIEntityGetNumberOfSources(_entity: MIDIEntityRef) -> IntObjective C
ItemCount MIDIEntityGetNumberOfSources ( MIDIEntityRef entity );Параметры
entityЗапрашиваемый объект
Возвращаемое значение
Число источников, которые объект содержит, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты один из источников данного объекта.
Объявление
Swift
func MIDIEntityGetSource(_entity: MIDIEntityRef, _sourceIndex0: Int) -> MIDIEndpointRefObjective C
MIDIEndpointRef MIDIEntityGetSource ( MIDIEntityRef entity, ItemCount sourceIndex0 );Параметры
entityЗапрашиваемый объект.
sourceIndex0Индекс (0... MIDIEntityGetNumberOfSources (объект)-1) источника для возврата
Возвращаемое значение
Ссылка на источник или NULL, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Создает виртуальное место назначения в клиенте.
Объявление
Swift
func MIDIDestinationCreate(_client: MIDIClientRef, _name: CFString!, _readProc: MIDIReadProc, _refCon: UnsafeMutablePointer<Void>, _outDest: UnsafeMutablePointer<MIDIEndpointRef>) -> OSStatusObjective C
OSStatus MIDIDestinationCreate ( MIDIClientRef client, CFStringRef name, MIDIReadProc readProc, void *refCon, MIDIEndpointRef *outDest );Параметры
clientКлиент, владеющий виртуальным местом назначения.
nameИмя виртуального места назначения.
readProcMIDIReadProc, который вызовут, когда клиент отправляет MIDI виртуальному месту назначения.
refConrefCon, который будет передан readProc.
outDestПо успешному возврату, указателю на недавно создаваемое место назначения.
Возвращаемое значение
Код результата.
Обсуждение
Когда клиенты отправляют MIDI Вашему виртуальному месту назначения, указанный readProc вызывают.
Драйверы не должны вызывать это; когда они создают устройства и объекты, источники и места назначения создаются в то время.
После создания виртуального места назначения это - хорошая идея присвоить его тот же уникальный идентификатор, который это имело в прошлый раз, когда Ваше приложение создало его. (Несмотря на то, что Вы должны быть подготовлены к этому перестать работать в маловероятном случае коллизии.) Это разрешит другим клиентам сохранять персистентные ссылки на Ваше виртуальное место назначения более легко.
Посмотрите обсуждение kMIDIPropertyAdvanceScheduleTimeMuSec для примечаний об отношении между тем, когда отправитель отправляет MIDI месту назначения и когда это получено.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Располагает виртуальный источник или место назначения, которое создал Ваш клиент.
Объявление
Swift
func MIDIEndpointDispose(_endpt: MIDIEndpointRef) -> OSStatusObjective C
OSStatus MIDIEndpointDispose ( MIDIEndpointRef endpt );Параметры
endptКонечная точка, которая будет расположена.
Возвращаемое значение
Код результата.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает объект конечной точки.
Объявление
Swift
func MIDIEndpointGetEntity(_inEndpoint: MIDIEndpointRef, _outEntity: UnsafeMutablePointer<MIDIEntityRef>) -> OSStatusObjective C
OSStatus MIDIEndpointGetEntity ( MIDIEndpointRef inEndpoint, MIDIEntityRef *outEntity );Параметры
inEndpointЗапрашиваемая конечная точка.
outEntityНа выходе, объекте владения конечной точки или NULL, если ни один.
Обсуждение
У виртуальных источников и мест назначения нет объектов.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты одно из мест назначения в системе.
Объявление
Swift
func MIDIGetDestination(_destIndex0: Int) -> MIDIEndpointRefObjective C
MIDIEndpointRef MIDIGetDestination ( ItemCount destIndex0 );Параметры
destIndex0Индекс (0... MIDIGetNumberOfDestinations ()-1) места назначения для возврата
Возвращаемое значение
Ссылка на место назначения или NULL, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число мест назначения в системе.
Объявление
Swift
func MIDIGetNumberOfDestinations() -> IntObjective C
ItemCount MIDIGetNumberOfDestinations ( void );Возвращаемое значение
Число мест назначения в системе, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число источников в системе.
Объявление
Swift
func MIDIGetNumberOfSources() -> IntObjective C
ItemCount MIDIGetNumberOfSources ( void );Возвращаемое значение
Число источников в системе, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты один из источников в системе.
Объявление
Swift
func MIDIGetSource(_sourceIndex0: Int) -> MIDIEndpointRefObjective C
MIDIEndpointRef MIDIGetSource ( ItemCount sourceIndex0 );Параметры
sourceIndex0Индекс (0... MIDIGetNumberOfSources ()-1) источника для возврата
Возвращаемое значение
Ссылка на источник или NULL, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Создает виртуальный источник в клиенте.
Объявление
Swift
func MIDISourceCreate(_client: MIDIClientRef, _name: CFString!, _outSrc: UnsafeMutablePointer<MIDIEndpointRef>) -> OSStatusObjective C
OSStatus MIDISourceCreate ( MIDIClientRef client, CFStringRef name, MIDIEndpointRef *outSrc );Параметры
clientКлиент, владеющий виртуальным источником.
nameИмя виртуального источника.
outSrcПо успешному возврату, указателю на недавно создаваемый источник.
Возвращаемое значение
Код результата.
Обсуждение
Драйверы не должны вызывать это; когда они создают устройства и объекты, источники и места назначения создаются в то время.
После создания виртуального источника используйте MIDIReceived для передачи сообщений MIDI от виртуального источника до любых клиентов, подключенных к виртуальному источнику.
После создания виртуального источника это - хорошая идея присвоить его тот же уникальный идентификатор, который это имело в прошлый раз, когда Ваше приложение создало его. (Несмотря на то, что Вы должны быть подготовлены к этому перестать работать в маловероятном случае коллизии.) Это разрешит другим клиентам сохранять персистентные ссылки на Ваш виртуальный источник более легко.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты один из объектов данного устройства.
Объявление
Swift
func MIDIDeviceGetEntity(_device: MIDIDeviceRef, _entityIndex0: Int) -> MIDIEntityRefObjective C
MIDIEntityRef MIDIDeviceGetEntity ( MIDIDeviceRef device, ItemCount entityIndex0 );Параметры
deviceЗапрашиваемое устройство.
entityIndex0Индекс (0... MIDIDeviceGetNumberOfEntities (устройство)-1) объекта для возврата
Возвращаемое значение
Ссылка на объект или NULL, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число объектов в данном устройстве.
Объявление
Swift
func MIDIDeviceGetNumberOfEntities(_device: MIDIDeviceRef) -> IntObjective C
ItemCount MIDIDeviceGetNumberOfEntities ( MIDIDeviceRef device );Параметры
deviceЗапрашиваемое устройство.
Возвращаемое значение
Число объектов, которые устройство содержит, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвраты одно из устройств в системе.
Объявление
Swift
func MIDIGetDevice(_deviceIndex0: Int) -> MIDIDeviceRefObjective C
MIDIDeviceRef MIDIGetDevice ( ItemCount deviceIndex0 );Параметры
deviceIndex0Индекс (0... MIDIGetNumberOfDevices ()-1) устройства для возврата.
Возвращаемое значение
Ссылка на устройство или NULL, если произошла ошибка.
Обсуждение
Используйте это для перечисления устройств в системе.
Для перечисления объектов в системе можно идти через устройства, затем идти через объекты устройств.
Примечание: Если клиент выполнит итерации через устройства и объекты в системе, то она никогда не будет посещать виртуальных источников и мест назначения, создаваемых другими клиентами. Кроме того, итерация устройства возвратит устройства, которые являются «оффлайновыми» (присутствовали в прошлом, но в настоящее время не присутствуют), в то время как итерации через источники и места назначения системы не будут включать конечные точки оффлайновых устройств.
Таким образом клиенты должны обычно использовать MIDIGetNumberOfSources, MIDIGetSource, MIDIGetNumberOfDestinations и MIDIGetDestination, довольно выполняющий итерации через устройства и объекты для определения местоположения конечных точек.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Возвращает число устройств в системе.
Объявление
Swift
func MIDIGetNumberOfDevices() -> IntObjective C
ItemCount MIDIGetNumberOfDevices ( void );Возвращаемое значение
Число устройств в системе, или 0, если произошла ошибка.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Создает объект MIDIClient.
Объявление
Swift
func MIDIClientCreate(_name: CFString!, _notifyProc: MIDINotifyProc, _notifyRefCon: UnsafeMutablePointer<Void>, _outClient: UnsafeMutablePointer<MIDIClientRef>) -> OSStatusObjective C
OSStatus MIDIClientCreate ( CFStringRef name, MIDINotifyProc notifyProc, void *notifyRefCon, MIDIClientRef *outClient );Параметры
nameИмя клиента.
notifyProcДополнительное (может быть NULL), функция обратного вызова, через которую клиент получит уведомления об изменениях в системе.
notifyRefConrefCon, пасуемый назад к notifyRefCon
outClientПо успешному возврату, точкам к недавно создаваемому MIDIClientRef.
Возвращаемое значение
Код результата.
Обсуждение
Обратите внимание на то, что notifyProc будут всегда вызывать на цикле выполнения, который был текущим, когда сначала вызвали MIDIClientCreate.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Располагает объект MIDIClient.
Объявление
Swift
func MIDIClientDispose(_client: MIDIClientRef) -> OSStatusObjective C
OSStatus MIDIClientDispose ( MIDIClientRef client );Параметры
clientКлиент для расположения.
Возвращаемое значение
Код результата.
Обсуждение
Не важно вызвать эту функцию; когда приложение завершится, платформа CoreMIDI автоматически расположит весь MIDIClients.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Вызванный, когда MIDI монопольное системой событие было полностью отправлено или было прервано.
Объявление
Swift
typealias MIDICompletionProc = CFunctionPointer<((UnsafeMutablePointer<MIDISysexSendRequest>) -> Void)>Objective C
typedef void (*MIDICompletionProc) ( MIDISysexSendRequest *request );Параметры
requestMIDISysexSendRequestкоторый завершился или был прерван.Обсуждение
Используйте эту функцию обратного вызова для уведомления приложения завершения вызова к
MIDISendSysexфункция.Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Вызванный, когда изменения состояния MIDI.
Объявление
Swift
typealias MIDINotifyProc = CFunctionPointer<((UnsafePointer<MIDINotification>, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*MIDINotifyProc) ( const MIDINotification *message, void *refCon );Параметры
messageИнформация об изменении состояния.
refConКонтекст Вы обеспечили для
MIDIClientCreateфункция.Обсуждение
MIDINotifyProcфункция обратного вызова вызывается на тот же поток, на котором Вы вызвалиMIDIClientCreateфункция.Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Вызванный, когда система имеет один или несколько входящие сообщения MIDI для поставки приложению.
Объявление
Swift
typealias MIDIReadProc = CFunctionPointer<((UnsafePointer<MIDIPacketList>, UnsafeMutablePointer<Void>, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*MIDIReadProc) ( const MIDIPacketList *pktlist, void *readProcRefCon, void *srcConnRefCon );Параметры
pktlistВходящее сообщение MIDI или сообщения.
readProcRefConКонтекст Вы обеспечили для
MIDIInputPortCreateилиMIDIDestinationCreateфункция.srcConnRefConКонтекст Вы обеспечили для
MIDIPortConnectSourceфункция, идентифицирующая источник данных.Обсуждение
Когда Вы вызываете
MIDIInputPortCreateилиMIDIDestinationCreateфункция, Вы обеспечиваете указатель на ВашMIDIReadProcобратный вызов. Система создает высокий приоритет, получают поток от Вашего имени. Поскольку ВашMIDIReadProcобратный вызов вызывается от отдельного потока, знать о проблемах синхронизации при использовании данных, предоставленных этим обратным вызовом.Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Объект, поддерживающий на состояние клиента.
Объявление
Swift
typealias MIDIClientRef = COpaquePointerObjective C
typedef MIDIObjectRef MIDIClientRef;Обсуждение
Происходит из MIDIObjectRef, не сделал, чтобы возразил владелец.
Для использования CoreMIDI приложение создает MIDIClientRef, к которому это может добавить MIDIPortRef, через который это может отправить и получить MIDI.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
MIDI-устройство или внешнее устройство, содержа объекты.
Объявление
Swift
typealias MIDIDeviceRef = COpaquePointerObjective C
typedef MIDIObjectRef MIDIDeviceRef;Обсуждение
Происходит из MIDIObjectRef, не сделал, чтобы возразил владелец.
MIDI-устройство, или присоединяющее непосредственно к компьютеру и управляющееся драйвером MIDI, или которое является «внешним», означая, что это подключено к управляемому драйвером устройству через стандартный кабель MIDI.
MIDIDeviceRef имеет свойства и содержит MIDIEntityRef.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Источник MIDI или место назначения, принадлежавшее объекту.
Объявление
Swift
typealias MIDIEndpointRef = COpaquePointerObjective C
typedef MIDIObjectRef MIDIEndpointRef;Обсуждение
Происходит из MIDIObjectRef, принадлежавшего MIDIEntityRef, если это не виртуальная конечная точка, когда нет никакого объекта владения.
Объекты имеют любое число MIDIEndpointRef, источники и места назначения потоков MIDI с 16 каналами.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Объект MIDI, принадлежавший устройству, содержа конечные точки.
Объявление
Swift
typealias MIDIEntityRef = COpaquePointerObjective C
typedef MIDIObjectRef MIDIEntityRef;Обсуждение
Происходит из MIDIObjectRef, принадлежавшего MIDIDeviceRef.
Устройства могут иметь многократные логически отличные субкомпоненты, например, синтезатор MIDI и пару портов MIDI, оба адресуемые через USB-порт.
Путем группировки конечных точек устройства в объекты система имеет достаточно информации для приложения для создания разумных предположений о том, как связаться реверсивным способом с каждым объектом, как желательно в библиотекаре MIDI приложения.
Этими субкомпонентами является MIDIEntityRef.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Базовый класс многих объектов CoreMIDI.
Объявление
Swift
typealias MIDIObjectRef = UnsafeMutablePointer<Void>Objective C
typedef UInt32 MIDIObjectRef;Обсуждение
MIDIObject является базовым классом для многих объектов в CoreMIDI. У них есть свойства, и часто объект «владельца», от которого они наследовали любые свойства, которые они самостоятельно не имеют.
Разработчики могут добавить свои собственные частные собственности, имена которых должны начаться с инвертированного доменного имени своей компании, как на имена пакета Java, но с подчеркиваниями вместо точек, например: com_apple_APrivateAppleProperty
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Порт подключения MIDI принадлежит клиенту.
Объявление
Swift
typealias MIDIPortRef = COpaquePointerObjective C
typedef MIDIObjectRef MIDIPortRef;Обсуждение
Происходит из MIDIObjectRef, принадлежавшего MIDIClientRef.
MIDIPortRef, который может быть входным портом или выходным портом, является объектом, через который клиент может связаться с любым числом источников MIDI или мест назначения.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Узел показывает время.
Объявление
Swift
typealias MIDITimeStamp = UInt64Objective C
typedef UInt64 MIDITimeStamp;Обсуждение
Время часов узла, представляя время события, как возвращено mach_absolute_time () или UpTime ().
Так как приложения MIDI будут иметь тенденцию делать изрядное количество математики с временами событий, более удобно использовать UInt64, чем AbsoluteTime.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Уникальный идентификатор для MIDIObjectRef.
Объявление
Swift
typealias MIDIUniqueID = Int32Objective C
typedef SInt32 MIDIUniqueID;Обсуждение
Целое число, однозначно определяющее MIDIObjectRef.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
Сообщение, описывающее системное изменение состояния.
Объявление
Swift
struct MIDINotification { var messageID: MIDINotificationMessageID var messageSize: UInt32 init() init(messageIDmessageID: MIDINotificationMessageID, messageSizemessageSize: UInt32) }Objective C
struct MIDINotification { MIDINotificationMessageID messageID; UInt32 messageSize; // additional data may follow, depending on messageID }; typedef struct MIDINotification MIDINotification;Поля
messageIDтип сообщения
messageSizeразмер всего сообщения, включая messageID и messageSize
Обсуждение
Когда CoreMIDI хочет сообщить клиенту изменения в состоянии системы, MIDINotification является структурой, переданной MIDINotifyProc.
Доступность
Доступный в iOS 4.2 и позже.
-
Сообщение, описывающее дополнение или удаление объекта.
Объявление
Swift
struct MIDIObjectAddRemoveNotification { var messageID: MIDINotificationMessageID var messageSize: UInt32 var parent: MIDIObjectRef var parentType: MIDIObjectType var child: MIDIObjectRef var childType: MIDIObjectType init() init(messageIDmessageID: MIDINotificationMessageID, messageSizemessageSize: UInt32, parentparent: MIDIObjectRef, parentTypeparentType: MIDIObjectType, childchild: MIDIObjectRef, childTypechildType: MIDIObjectType) }Objective C
struct MIDIObjectAddRemoveNotification { MIDINotificationMessageID messageID; UInt32 messageSize; MIDIObjectRef parent; MIDIObjectType parentType; MIDIObjectRef child; MIDIObjectType childType; }; typedef struct MIDIObjectAddRemoveNotification MIDIObjectAddRemoveNotification;Поля
messageIDтип сообщения
messageSizeразмер всего сообщения, включая messageID и messageSize
parentродитель добавленного или удаленного объекта (возможно NULL)
parentTypeтип родительского объекта (неопределенный, если родителем является NULL),
childдобавленный или удаленный объект
childTypeтип добавленного или удаленного объекта
Обсуждение
Доступность
Доступный в iOS 4.2 и позже.
-
Сообщение, описывающее дополнение или удаление объекта.
Объявление
Swift
struct MIDIObjectPropertyChangeNotification { var messageID: MIDINotificationMessageID var messageSize: UInt32 var object: MIDIObjectRef var objectType: MIDIObjectType var propertyName: Unmanaged<CFString>! init() init(messageIDmessageID: MIDINotificationMessageID, messageSizemessageSize: UInt32, objectobject: MIDIObjectRef, objectTypeobjectType: MIDIObjectType, propertyNamepropertyName: Unmanaged<CFString>!) }Objective C
struct MIDIObjectPropertyChangeNotification { MIDINotificationMessageID messageID; UInt32 messageSize; MIDIObjectRef object; MIDIObjectType objectType; CFStringRef propertyName; }; typedef struct MIDIObjectPropertyChangeNotification MIDIObjectPropertyChangeNotification;Поля
messageIDТип сообщения.
messageSizeРазмер всего сообщения, включая
messageIDиmessageSizeполя.objectОбъект, свойство которого изменилось.
objectTypeТип объекта, свойство которого изменилось.
propertyNameИмя измененного свойства.
Доступность
Доступный в iOS 4.2 и позже.
-
Сообщение, описывающее MIDI ошибка I/O.
Объявление
Swift
struct MIDIIOErrorNotification { var messageID: MIDINotificationMessageID var messageSize: UInt32 var driverDevice: MIDIDeviceRef var errorCode: OSStatus init() init(messageIDmessageID: MIDINotificationMessageID, messageSizemessageSize: UInt32, driverDevicedriverDevice: MIDIDeviceRef, errorCodeerrorCode: OSStatus) }Objective C
struct MIDIIOErrorNotification { MIDINotificationMessageID messageID; UInt32 messageSize; MIDIDeviceRef driverDevice; OSStatus errorCode; }; typedef struct MIDIIOErrorNotification MIDIIOErrorNotification;Поля
messageIDТип сообщения.
messageSizeРазмер всего сообщения, включая
messageIDиmessageSizeполя.driverDeviceДрайвер I/O, показавший ошибку.
errorCodeКод ошибки.
Доступность
Доступный в iOS 4.2 и позже.
-
Набор одновременных событий MIDI.
Объявление
Swift
struct MIDIPacket { var timeStamp: MIDITimeStamp var length: UInt16 var data: (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8) init() init(timeStamp timeStamp: MIDITimeStamp, length length: UInt16, data data: (UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8)) }Objective C
struct MIDIPacket { MIDITimeStamp timeStamp; UInt16 length; Byte data[256]; }; typedef struct MIDIPacket MIDIPacket;Поля
timeStampВремя, в которое события имели место, при получении MIDI, или, при отправке MIDI, время, в которое должны играться события. Нуль означает «теперь». Метка времени применяется к первому байту MIDI в пакете.
lengthЧисло допустимых байтов MIDI, следующих в данных. (Это может быть больше, чем 256 байтов, если динамично выделяется пакет.)
dataПоток переменной длины сообщений MIDI. Рабочее состояние не позволяется. В случае монопольных системой сообщений пакет может только содержать единственное сообщение или часть одной, без других событий MIDI.
Обсуждение
Сообщения MIDI в пакете должны всегда быть завершены, за исключением монопольного системой.
(Это, как объявляют, 256 байтов в длине, таким образом, клиенты не должны создавать пользовательские структуры данных в простых ситуациях.)
Доступность
Доступный в iOS 4.2 и позже.
-
Список событий MIDI, получаемых из или отправляемых в, одна конечная точка.
Объявление
Swift
struct MIDIPacketList { var numPackets: UInt32 var packet: (MIDIPacket) init() init(numPacketsnumPackets: UInt32, packetpacket: (MIDIPacket)) }Objective C
struct MIDIPacketList { UInt32 numPackets; MIDIPacket packet[1]; }; typedef struct MIDIPacketList MIDIPacketList;Поля
numPacketsЧисло MIDIPackets в списке.
packetОткрытый массив переменной длины MIDIPackets.
Обсуждение
Метки времени в пакетном списке должны быть в порядке возрастания.
Обратите внимание на то, что к пакетам в списке, в то время как определено как массив, нельзя получить доступ как массив, так как они - переменная длина. Для итерации через пакеты в пакетном списке используйте цикл, такой как:
MIDIPacket *packet = &packetList->packet[0];for (int i = 0; i > packetList->numPackets; ++i) {// ...packet = MIDIPacketNext (packet);}
Доступность
Доступный в iOS 4.2 и позже.
-
Запрос для передачи монопольного системой события.
Объявление
Swift
struct MIDISysexSendRequest { var destination: MIDIEndpointRef var data: UnsafePointer<UInt8> var bytesToSend: UInt32 var complete: Boolean var reserved: (UInt8, UInt8, UInt8) var completionProc: MIDICompletionProc var completionRefCon: UnsafeMutablePointer<Void> init() init(destinationdestination: MIDIEndpointRef, datadata: UnsafePointer<UInt8>, bytesToSendbytesToSend: UInt32, completecomplete: Boolean, reservedreserved: (UInt8, UInt8, UInt8), completionProccompletionProc: MIDICompletionProc, completionRefConcompletionRefCon: UnsafeMutablePointer<Void>) }Objective C
struct MIDISysexSendRequest { MIDIEndpointRef destination; const Byte *data; UInt32 bytesToSend; Boolean complete; Byte reserved[3]; MIDICompletionProc completionProc; void *completionRefCon; }; typedef struct MIDISysexSendRequest MIDISysexSendRequest;Поля
destinationКонечная точка, в которую должно быть отправлено событие.
dataПервоначально, указатель на sys-исключая событие, которое будет отправлено. MIDISendSysex усовершенствует этот указатель, когда отправляются байты.
bytesToSendПервоначально, число байтов, которые будут отправлены. MIDISendSysex постепенно уменьшит этот счетчик, когда отправляются байты.
completeКлиент может установить это в истину в любое время для прерывания передачи. Когда все байты были отправлены, реализация устанавливает это в истину.
completionProcВызванный, когда все байты были отправлены, или после того, как клиент установил завершенный в истину.
completionRefConПереданный как refCon completionProc.
Обсуждение
Это представляет запрос, чтобы отправить монопольное единой системой событие MIDI месту назначения MIDI асинхронно.
Доступность
Доступный в iOS 4.2 и позже.
-
Объявление
Swift
let kMIDIPropertyAdvanceScheduleTimeMuSec: CFString! let kMIDIPropertyCanRoute: CFString! let kMIDIPropertyConnectionUniqueID: CFString! let kMIDIPropertyDeviceID: CFString! let kMIDIPropertyDisplayName: CFString! let kMIDIPropertyDriverDeviceEditorApp: CFString! let kMIDIPropertyDriverOwner: CFString! let kMIDIPropertyDriverVersion: CFString! let kMIDIPropertyImage: CFString! let kMIDIPropertyIsBroadcast: CFString! let kMIDIPropertyIsDrumMachine: CFString! let kMIDIPropertyIsEffectUnit: CFString! let kMIDIPropertyIsEmbeddedEntity: CFString! let kMIDIPropertyIsMixer: CFString! let kMIDIPropertyIsSampler: CFString! let kMIDIPropertyManufacturer: CFString! let kMIDIPropertyMaxReceiveChannels: CFString! let kMIDIPropertyMaxSysExSpeed: CFString! let kMIDIPropertyMaxTransmitChannels: CFString! let kMIDIPropertyModel: CFString! let kMIDIPropertyName: CFString! let kMIDIPropertyNameConfiguration: CFString! let kMIDIPropertyOffline: CFString! let kMIDIPropertyPanDisruptsStereo: CFString! let kMIDIPropertyPrivate: CFString! let kMIDIPropertyReceiveChannels: CFString! let kMIDIPropertyReceivesBankSelectLSB: CFString! let kMIDIPropertyReceivesBankSelectMSB: CFString! let kMIDIPropertyReceivesClock: CFString! let kMIDIPropertyReceivesMTC: CFString! let kMIDIPropertyReceivesNotes: CFString! let kMIDIPropertyReceivesProgramChanges: CFString! let kMIDIPropertySingleRealtimeEntity: CFString! let kMIDIPropertySupportsGeneralMIDI: CFString! let kMIDIPropertySupportsMMC: CFString! let kMIDIPropertySupportsShowControl: CFString! let kMIDIPropertyTransmitChannels: CFString! let kMIDIPropertyTransmitsBankSelectLSB: CFString! let kMIDIPropertyTransmitsBankSelectMSB: CFString! let kMIDIPropertyTransmitsClock: CFString! let kMIDIPropertyTransmitsMTC: CFString! let kMIDIPropertyTransmitsNotes: CFString! let kMIDIPropertyTransmitsProgramChanges: CFString! let kMIDIPropertyUniqueID: CFString!Objective C
const CFStringRef kMIDIPropertyAdvanceScheduleTimeMuSec; const CFStringRef kMIDIPropertyCanRoute; const CFStringRef kMIDIPropertyConnectionUniqueID; const CFStringRef kMIDIPropertyDeviceID; const CFStringRef kMIDIPropertyDisplayName; const CFStringRef kMIDIPropertyDriverDeviceEditorApp; const CFStringRef kMIDIPropertyDriverOwner; const CFStringRef kMIDIPropertyDriverVersion; const CFStringRef kMIDIPropertyImage; const CFStringRef kMIDIPropertyIsBroadcast; const CFStringRef kMIDIPropertyIsDrumMachine; const CFStringRef kMIDIPropertyIsEffectUnit; const CFStringRef kMIDIPropertyIsEmbeddedEntity; const CFStringRef kMIDIPropertyIsMixer; const CFStringRef kMIDIPropertyIsSampler; const CFStringRef kMIDIPropertyManufacturer; const CFStringRef kMIDIPropertyMaxReceiveChannels; const CFStringRef kMIDIPropertyMaxSysExSpeed; const CFStringRef kMIDIPropertyMaxTransmitChannels; const CFStringRef kMIDIPropertyModel; const CFStringRef kMIDIPropertyName; const CFStringRef kMIDIPropertyNameConfiguration; const CFStringRef kMIDIPropertyOffline; const CFStringRef kMIDIPropertyPanDisruptsStereo; const CFStringRef kMIDIPropertyPrivate; const CFStringRef kMIDIPropertyReceiveChannels; const CFStringRef kMIDIPropertyReceivesBankSelectLSB; const CFStringRef kMIDIPropertyReceivesBankSelectMSB; const CFStringRef kMIDIPropertyReceivesClock; const CFStringRef kMIDIPropertyReceivesMTC; const CFStringRef kMIDIPropertyReceivesNotes; const CFStringRef kMIDIPropertyReceivesProgramChanges; const CFStringRef kMIDIPropertySingleRealtimeEntity; const CFStringRef kMIDIPropertySupportsGeneralMIDI; const CFStringRef kMIDIPropertySupportsMMC; const CFStringRef kMIDIPropertySupportsShowControl; const CFStringRef kMIDIPropertyTransmitChannels; const CFStringRef kMIDIPropertyTransmitsBankSelectLSB; const CFStringRef kMIDIPropertyTransmitsBankSelectMSB; const CFStringRef kMIDIPropertyTransmitsClock; const CFStringRef kMIDIPropertyTransmitsMTC; const CFStringRef kMIDIPropertyTransmitsNotes; const CFStringRef kMIDIPropertyTransmitsProgramChanges; const CFStringRef kMIDIPropertyUniqueID;Константы
-
kMIDIPropertyAdvanceScheduleTimeMuSecсвойство устройства/объекта/конечной точки, целое число
Установленный драйвером владения; не должен быть затронут другими клиентами. Если это является ненулевым, то это - рекомендация того, сколько микросекунд заранее клиенты должны запланировать вывод. Клиенты должны обработать это значение как минимум. Для устройств с ненулевым предварительным временем расписания драйверы получат исходящие сообщения к устройству в то время, когда они отправляются клиентом через MIDISend, и драйвер ответственен за планирование событий, которые будут играться в правильные времена согласно их меткам времени.
С CoreMIDI 1.3 это свойство может также быть установлено на виртуальных местах назначения (но только создатель места назначения должен сделать так). Когда клиент отправляет виртуальному месту назначения с предварительным временем расписания 0, виртуальное место назначения получает его сообщения в их запланированное время доставки. Если у виртуального места назначения есть ненулевое предварительное время расписания, оно получает сообщения, к которым добавляют метку времени, как только они отправляются и должны сделать его собственное внутреннее планирование полученных событий.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyCanRoute//например, патч-панель
свойство устройства/объекта, целое число (0/1). Указывает, могут ли устройство или объект направить сообщения MIDI к или от других внешних MIDI-устройств (как с патч-панелями MIDI). Это не должно быть установлено на устройствах, которыми управляют драйверы.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyConnectionUniqueIDсвойство устройства/объекта/конечной точки, целое число или CFDataRef
UniqueID внешнего устройства/entity/endpoint присоединенный к этому. С Mac OS X 10.3, Аудио Установка MIDI поддерживает соединения конечной точки конечной-точки-к-внешнему (в 10,2, это подключенные устройства к устройствам). Если нет никакого соединения, свойство является non-existant или 0.
Новый для CoreMIDI 1.1 (Mac OS X 10.1)
Начинаясь с CoreMIDI 1.3, этим свойством может также быть CFDataRef, содержащий массив SINT32 с обратным порядком байтов, чтобы позволить указывать, что драйвер возражает подключениям к многократным внешним объектам (через MIDI через луг или разделяющий).
Это свойство может также существовать для внешних устройств/объектов/конечных точек, когда оно показывает MIDI Через соединение с другим внешним устройством/entity/endpoint (снова, строго рекомендуется, чтобы это была конечная точка).
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyDeviceIDсвойство устройства/объекта, целое число
Монопольный системой ID объекта, в видимой пользователем форме
Драйверы могут установить это свойство на своих устройствах или объектах.
Редакторы установки могут позволить пользователю устанавливать это свойство на внешних устройствах.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyDisplayNameсвойство устройства/объекта/конечной точки, строка.
Обеспечивает рекомендуемое Apple видимое пользователем имя для конечной точки, путем объединения имен конечной точки и устройства.
Для объектов кроме конечных точек имя дисплея совпадает с именем.
Новый для CoreMIDI 1.5.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyDriverDeviceEditorAppсвойство устройства, строка, содержит полный путь к приложению, знающему, как сконфигурировать это устройства находившиеся в собственности драйвера. Драйверы могут установить это свойство на своих находящихся в собственности устройствах. Приложения не должны писать в него.
Новый для CoreMIDI 1.4.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyDriverOwnerсвойство устройства/объекта/конечной точки, строка
Имя драйвера, которому принадлежит устройство. Установленный драйвером владения, на устройстве; не должен быть затронут другими клиентами. Свойство наследовано от устройства его объектами и конечными точками.
Новый для CoreMIDI 1.1 (Mac OS X 10.1)
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyDriverVersionсвойство устройства/объекта/конечной точки, целое число, возвращает версию драйвера API драйвера владения (только для драйвера - принадлежавшие устройства). Драйверы не должны устанавливать это свойство; приложения не должны писать в него.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyImageсвойство устройства, CFStringRef, который является всем путем POSIX к устройству или значку внешнего устройства, сохраненному в любом стандартном формате графических файлов, таком как JPEG, GIF, PNG и TIFF, все приемлемо. (См. CFURL для функций для преобразования между путями POSIX и другими способами указать файлы.) Максимальный размер изображения должен быть 128x128.
Драйверы должны установить значок на устройствах, которые они добавляют.
Студийный редактор установки должен позволить пользователю выбирать значки для внешних устройств.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsBroadcastсвойство объекта/конечной точки, целое число
1, если широковещательные сообщения конечной точки обменивается сообщениями ко всем другим конечным точкам в устройстве, 0 если нет. Установленный драйвером владения; не должен быть затронут другими клиентами. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsDrumMachineсвойство устройства/объекта, целое число (0/1). Указывает, имеют ли устройство или звуковые предварительные установки объекта тенденцию быть наборами невзаимозаменяемых выборок (например, ударные установки).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsEffectUnitсвойство устройства/объекта, целое число (0/1). Указывает, являются ли устройство или объект прежде всего УПРАВЛЯЕМЫМ MIDI модулем звукового эффекта (т.е. не генерирует звук самостоятельно).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsEmbeddedEntityсвойство объекта/конечной точки, целое число
0, если существуют внешние коннекторы MIDI, 1 если нет. Новый для CoreMIDI 1.1 (Mac OS X 10.1)
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsMixerсвойство устройства/объекта, целое число (0/1). Указывает, смешивают ли устройство или объект внешние звуковые сигналы, которыми управляют сообщения MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyIsSamplerсвойство устройства/объекта, целое число (0/1). Указывает, играют ли устройство или объект аудиосэмплы в ответ на сообщения примечания MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyManufacturerсвойство устройства/конечной точки, строка
Драйверы должны установить это свойство на своих устройствах.
Редакторы установки могут позволить пользователю устанавливать это свойство на внешних устройствах.
Создатели виртуальных конечных точек могут установить это свойство на своих конечных точках.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyMaxReceiveChannelsсвойство устройства/объекта, целое число (0-16). Указывает максимальное количество каналов MIDI, на которых устройство может одновременно получить сообщения Канала MIDI. Общие ценности 0 (устройства, только реагирующие на Системные сообщения), 1 (немультитембральные устройства), и 16 (полностью мультитембральные устройства). Другие значения возможны, например устройства, которые являются мультитембральными, но имеют меньше чем 16 «частей».
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyMaxSysExSpeedсвойство устройства/объекта/конечной точки, целое число
Установленный драйвером владения; не должен быть затронут другими клиентами. Значение является максимальным уровнем в байтах/секунда, в которых сообщения sysex могут быть отправлены надежно в этот объект. (Значение по умолчанию 3125, как с MIDI 1.0),
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyMaxTransmitChannelsсвойство устройства/объекта, целое число (0/1). Указывает максимальное количество каналов MIDI, на которых устройство может одновременно передать сообщения Канала MIDI. Общие ценности 0, 1 и 16.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyModelсвойство устройства/конечной точки, строка
Драйверы должны установить это свойство на своих устройствах.
Редакторы установки могут позволить пользователю устанавливать это свойство на внешних устройствах.
Создатели виртуальных конечных точек могут установить это свойство на своих конечных точках.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyNameсвойство устройства/объекта/конечной точки, строка
Устройства, объекты и конечные точки могут все иметь имена. Рекомендуемый способ вывести на экран имя конечной точки состоит в том, чтобы попросить имя конечной точки и вывести на экран только, что имя, если это уникально. Если это является групповым, предварительно ожидайте имя устройства.
Редактор установки может позволить пользователю определять имена и и внешних устройств находившихся в собственности драйвера.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyNameConfigurationсвойство устройства/объекта/конечной точки, CFDictionary
Это указывает текущий патч устройства, примечание и значения имени элемента управления с помощью формата MIDINameDocument XML. Эта спецификация требует использования высокоуровневых, специфичных для OS конструкций за пределами спецификации, чтобы полностью определить текущие имена для устройства.
Свойство MIDINameConfiguration реализовано как CFDictionary:
ключевое «ведущее устройство» отображается на CFDataRef, содержащий AliasHandle, обращающийся к основному документу имени устройства.
ключевые «банки» отображаются на CFDictionaryRef. Ключи этого словаря являются именами CFStringRef patchBank элементов в основном документе, и его значения - каждый CFDictionaryRef: ключевой «файл» отображается на CFDataRef, содержащий AliasHandle к документу, содержащему патчи, переопределяющие тех в основном документе, и ключ «patchNameList» отображается на CFStringRef, который является именем patchNameList элемента в переопределяющем документе.
ключ «currentChannelNameSets» отображается на CFArrayRef с 16 элементами, каждым элементом которого является CFStringRef имени текущего режима для каждого из 16 каналов MIDI.
ключ «currentDeviceMode» отображается на CFStringRef, содержащий имя режима устройства.
Установка Clients это свойство должно проявить определенную заботу для сохранения значений словаря кроме тех, они интересуются изменением, и должным образом структурировать словарь.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyOfflineсвойство устройства/объекта/конечной точки, целое число
1 = устройство является оффлайновым (временно отсутствует), 0 = настоящее. Установленный драйвером владения, на устройстве; не должен быть затронут другими клиентами. Свойство наследовано от устройства его объектами и конечными точками. Новый для CoreMIDI 1.1 (Mac OS X 10.1)
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyPanDisruptsStereoсвойство устройства/объекта, целое число (0/1). Указывает, обменивается ли панорамирование MIDI сообщениями (управляйте 10), когда отправлено в устройство или объект, вызовите нежелательные эффекты при игре звуков стерео (например, преобразовании сигнала в моно). Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyPrivateсвойство устройства/объекта/конечной точки, целое число
1 = конечная точка является частной, скрытой от других клиентов. Может быть установлен на устройстве или объекте, но они все еще появятся в API; только влияние, скрыты ли находящиеся в собственности конечные точки. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceiveChannelsсвойство конечной точки, целое число
Значение является битовым массивом каналов, на которых объект получает: 1=ch 1, 2=ch 2, 4=ch 3... 0x8000=ch 16.
Драйверы могут установить это свойство на своих объектах или конечных точках.
Редакторы установки могут позволить пользователю устанавливать это свойство на внешних конечных точках.
Виртуальное место назначения может установить это свойство на их конечных точках.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesBankSelectLSBсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на банк MIDI, выбирают сообщения LSB (управляйте 32).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesBankSelectMSBсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на банк MIDI, выбирают сообщения MSB (управляйте 0).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesClockсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на сообщения часов удара MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesMTCсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на сообщения Временного кода MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesNotesсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на Примечание MIDI По сообщениям.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyReceivesProgramChangesсвойство устройства/объекта, целое число (0/1). Указывает, реагируют ли устройство или объект на сообщения изменения программы MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertySingleRealtimeEntityсвойство устройства, целое число
Некоторые MIDI-интерфейсы не могут направить MIDI сообщения в реальном времени к отдельным выводам; они широковещательно передаются. На таких устройствах инверсия является обычно также истиной - поступление сообщений в реальном времени не может быть идентифицировано как происходящий ни из какого определенного источника.
Когда это свойство установлено на устройстве драйвера, оно показывает индекс на основе 0 объекта, на котором входящие сообщения в реальном времени от устройства, будет казаться, произошли из.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertySupportsGeneralMIDIсвойство устройства/объекта, целое число (0/1). Указывает, реализуют ли устройство или объект Общую спецификацию MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertySupportsMMCсвойство устройства/объекта, целое число (0/1). Указывает, реализуют ли устройство или объект часть Управления Машиной MIDI спецификации MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertySupportsShowControlсвойство устройства/объекта, целое число (0/1). Указывает, показывают ли реализации устройства MIDI спецификацию Управления.
Новый для CoreMIDI 1.5.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitChannelsсвойство конечной точки, целое число
Значение является битовым массивом каналов, на которых объект передает: 1=ch 1, 2=ch 2, 4=ch 3... 0x8000=ch 16.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsBankSelectLSBсвойство устройства/объекта, целое число (0/1). Указывает, выбирают ли устройство или банк MIDI передач объекта сообщения LSB (управляйте 32).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsBankSelectMSBсвойство устройства/объекта, целое число (0/1). Указывает, выбирают ли устройство или банк MIDI передач объекта сообщения MSB (управляйте 0).
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsClockсвойство устройства/объекта, целое число (0/1). Указывает, передают ли устройство или объект сообщения часов удара MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsMTCсвойство устройства/объекта, целое число (0/1). Указывает, передают ли устройство или объект сообщения Временного кода MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsNotesсвойство устройства/объекта, целое число (0/1). Указывает, передают ли устройство или объект сообщения примечания MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyTransmitsProgramChangesсвойство устройства/объекта, целое число (0/1). Указывает, передают ли устройство или объект сообщения изменения программы MIDI.
Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIPropertyUniqueIDустройства, объекты, конечные точки у всех есть уникальный идентификатор, целое число
Система присваивает уникальный идентификатор всем объектам. Создатели виртуальных конечных точек могут установить это свойство на своих конечных точках, хотя выполнение так может перестать работать, если выбранный ID не уникален.
Доступный в iOS 4.2 и позже.
-
-
Ошибочные константы, уникальные для Core MIDI.
Объявление
Swift
var kMIDIInvalidClient: Int { get } var kMIDIInvalidPort: Int { get } var kMIDIWrongEndpointType: Int { get } var kMIDINoConnection: Int { get } var kMIDIUnknownEndpoint: Int { get } var kMIDIUnknownProperty: Int { get } var kMIDIWrongPropertyType: Int { get } var kMIDINoCurrentSetup: Int { get } var kMIDIMessageSendErr: Int { get } var kMIDIServerStartErr: Int { get } var kMIDISetupFormatErr: Int { get } var kMIDIWrongThread: Int { get } var kMIDIObjectNotFound: Int { get } var kMIDIIDNotUnique: Int { get }Objective C
enum { kMIDIInvalidClient = -10830, kMIDIInvalidPort = -10831, kMIDIWrongEndpointType = -10832, kMIDINoConnection = -10833, kMIDIUnknownEndpoint = -10834, kMIDIUnknownProperty = -10835, kMIDIWrongPropertyType = -10836, kMIDINoCurrentSetup = -10837, kMIDIMessageSendErr = -10838, kMIDIServerStartErr = -10839, kMIDISetupFormatErr = -10840, kMIDIWrongThread = -10841, kMIDIObjectNotFound = -10842, kMIDIIDNotUnique = -10843 };Константы
-
kMIDIInvalidClientБыл передан недопустимый MIDIClientRef.
Доступный в iOS 4.2 и позже.
-
kMIDIInvalidPortБыл передан недопустимый MIDIPortRef.
Доступный в iOS 4.2 и позже.
-
kMIDIWrongEndpointTypeИсходная конечная точка была передана функции, ожидая место назначения, или наоборот.
Доступный в iOS 4.2 и позже.
-
kMIDINoConnectionПопытайтесь закрыть non-existant соединение.
Доступный в iOS 4.2 и позже.
-
kMIDIUnknownEndpointБыл передан недопустимый MIDIEndpointRef.
Доступный в iOS 4.2 и позже.
-
kMIDIUnknownPropertyПопытайтесь запросить свойство не набор на объекте.
Доступный в iOS 4.2 и позже.
-
kMIDIWrongPropertyTypeПопытайтесь установить свойство со значением не корректного типа.
Доступный в iOS 4.2 и позже.
-
kMIDINoCurrentSetupВнутренняя ошибка; нет никакого текущего объекта установки MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIMessageSendErrСвязь с MIDIServer перестала работать.
Доступный в iOS 4.2 и позже.
-
kMIDIServerStartErrНеспособный запустить MIDIServer.
Доступный в iOS 4.2 и позже.
-
kMIDISetupFormatErrНеспособный считать сохраненное состояние.
Доступный в iOS 4.2 и позже.
-
kMIDIWrongThreadДрайвер вызывает функцию non-I/O в сервере от потока кроме основного потока сервера.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectNotFoundНужный объект не существует.
Доступный в iOS 4.2 и позже.
-
kMIDIIDNotUniqueПопытайтесь установить групповой kMIDIPropertyUniqueID на объекте.
Доступный в iOS 4.2 и позже.
Обсуждение
Это ошибочные константы, которые уникальны для Core MIDI. Обратите внимание на то, что функции Core MIDI могут возвратить другие коды, не перечисленные здесь.
-
-
Показывает тип MIDINotification.
Объявление
Swift
typealias MIDINotificationMessageID = Int32Objective C
enum { kMIDIMsgSetupChanged = 1, kMIDIMsgObjectAdded = 2, kMIDIMsgObjectRemoved = 3, kMIDIMsgPropertyChanged = 4, kMIDIMsgThruConnectionsChanged = 5, kMIDIMsgSerialPortOwnerChanged = 6, kMIDIMsgIOError = 7 }; typedef SInt32 MIDINotificationMessageID;Константы
-
kMIDIMsgSetupChangedНекоторый аспект текущего MIDISetup изменился. Никакие данные. Если сообщения 2-6 обрабатываются, должен проигнорировать это сообщение.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgObjectAddedУстройство, объект или конечная точка были добавлены. Структурой является MIDIObjectAddRemoveNotification. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgObjectRemovedУстройство, объект или конечная точка были демонтированы. Структурой является MIDIObjectAddRemoveNotification. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgPropertyChangedСвойство объекта было изменено. Структурой является MIDIObjectPropertyChangeNotification. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgThruConnectionsChangedПерсистентный MIDI Через соединение был создан или уничтожен. Никакие данные. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgSerialPortOwnerChangedПерсистентный MIDI Через соединение был создан или уничтожен. Никакие данные. Новый для CoreMIDI 1.3.
Доступный в iOS 4.2 и позже.
-
kMIDIMsgIOErrorДрайвер ошибка I/O произошел.
Доступный в iOS 4.2 и позже.
Обсуждение
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
-
Указывает тип объекта MIDI.
Объявление
Swift
typealias MIDIObjectType = Int32Objective C
enum { kMIDIObjectType_Other = -1, kMIDIObjectType_Device = 0, kMIDIObjectType_Entity = 1, kMIDIObjectType_Source = 2, kMIDIObjectType_Destination = 3, kMIDIObjectType_ExternalMask = 0x10, kMIDIObjectType_ExternalDevice = kMIDIObjectType_ExternalMask | kMIDIObjectType_Device, kMIDIObjectType_ExternalEntity = kMIDIObjectType_ExternalMask | kMIDIObjectType_Entity, kMIDIObjectType_ExternalSource = kMIDIObjectType_ExternalMask | kMIDIObjectType_Source, kMIDIObjectType_ExternalDestination = kMIDIObjectType_ExternalMask | kMIDIObjectType_Destination }; typedef SInt32 MIDIObjectType;Константы
-
kMIDIObjectType_OtherНеуказанный тип объекта MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_DeviceMIDI-устройство.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_EntityОбъект MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_SourceИсточник MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_DestinationМесто назначения MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_ExternalMaskБитовая маска для указания, что устройство является внешним.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_ExternalDeviceВнешнее MIDI-устройство.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_ExternalEntityВнешний объект MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_ExternalSourceВнешний источник MIDI.
Доступный в iOS 4.2 и позже.
-
kMIDIObjectType_ExternalDestinationВнешнее место назначения MIDI.
Доступный в iOS 4.2 и позже.
Обсуждение
Показывает реальный тип экземпляра MIDIObjectRef.
Оператор импорта
Objective C
@import CoreMIDI;Swift
import CoreMIDIДоступность
Доступный в iOS 4.2 и позже.
-
-
Указывает, что уникальный идентификатор MIDI не допустим.
Объявление
Swift
var kMIDIInvalidUniqueID: Int { get }Objective C
enum { kMIDIInvalidUniqueID = 0 };Константы
