Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы CoreMIDI ссылка служб MIDI

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка 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>) -> OSStatus

    Objective C

    OSStatus MIDIInputPortCreate ( MIDIClientRef client, CFStringRef portName, MIDIReadProc readProc, void *refCon, MIDIPortRef *outPort );

    Параметры

    client

    Клиент для владения недавно создаваемым портом.

    portName

    Имя порта.

    readProc

    MIDIReadProc, который вызовут с входящим MIDI из источников, подключенных к этому порту.

    refCon

    refCon передал 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>) -> OSStatus

    Objective 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>) -> OSStatus

    Objective 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) -> OSStatus

    Objective 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) -> OSStatus

    Objective 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>) -> OSStatus

    Objective C

    OSStatus MIDIObjectFindByUniqueID ( MIDIUniqueID inUniqueID, MIDIObjectRef *outObject, MIDIObjectType *outObjectType );

    Параметры

    inUniqueID

    uniqueID объекта искать. (Это должно быть результатом более раннего вызова к 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>?>) -> OSStatus

    Objective 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>?>) -> OSStatus

    Objective 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>) -> OSStatus

    Objective 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) -> OSStatus

    Objective 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>?>) -> OSStatus

    Objective 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!) -> OSStatus

    Objective 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!) -> OSStatus

    Objective 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!) -> OSStatus

    Objective 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) -> OSStatus

    Objective 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!) -> OSStatus

    Objective 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) -> OSStatus

    Objective 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>) -> OSStatus

    Objective 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() -> OSStatus

    Objective 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>) -> OSStatus

    Objective 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>) -> OSStatus

    Objective C

    OSStatus MIDISendSysex ( MIDISysexSendRequest *request );

    Параметры

    request

    Содержит место назначения и указатель на данные MIDI, которые будут отправлены.

    Возвращаемое значение

    Код результата.

    Обсуждение

    запрос-> данные должен указать на единственный MIDI на монопольное системой сообщение или часть этого.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвраты одно из внешних устройств в системе.

    Объявление

    Swift

    func MIDIGetExternalDevice(_ deviceIndex0: Int) -> MIDIDeviceRef

    Objective C

    MIDIDeviceRef MIDIGetExternalDevice ( ItemCount deviceIndex0 );

    Параметры

    deviceIndex0

    Индекс (0... MIDIGetNumberOfDevices ()-1) устройства для возврата.

    Возвращаемое значение

    Ссылка на устройство или NULL, если произошла ошибка.

    Обсуждение

    Используйте это для перечисления внешних устройств в системе.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает число внешних MIDI-устройств в системе.

    Объявление

    Swift

    func MIDIGetNumberOfExternalDevices() -> Int

    Objective 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) -> MIDIEndpointRef

    Objective 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>) -> OSStatus

    Objective C

    OSStatus MIDIEntityGetDevice ( MIDIEntityRef inEntity, MIDIDeviceRef *outDevice );

    Параметры

    inEntity

    Запрашиваемый объект.

    outDevice

    По успешному возврату, устройству владения объекта.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает число мест назначения в данном объекте.

    Объявление

    Swift

    func MIDIEntityGetNumberOfDestinations(_ entity: MIDIEntityRef) -> Int

    Objective C

    ItemCount MIDIEntityGetNumberOfDestinations ( MIDIEntityRef entity );

    Параметры

    entity

    Запрашиваемый объект

    Возвращаемое значение

    Число мест назначения, которые объект содержит, или 0, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает число источников в данном объекте.

    Объявление

    Swift

    func MIDIEntityGetNumberOfSources(_ entity: MIDIEntityRef) -> Int

    Objective C

    ItemCount MIDIEntityGetNumberOfSources ( MIDIEntityRef entity );

    Параметры

    entity

    Запрашиваемый объект

    Возвращаемое значение

    Число источников, которые объект содержит, или 0, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвраты один из источников данного объекта.

    Объявление

    Swift

    func MIDIEntityGetSource(_ entity: MIDIEntityRef, _ sourceIndex0: Int) -> MIDIEndpointRef

    Objective 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>) -> OSStatus

    Objective C

    OSStatus MIDIDestinationCreate ( MIDIClientRef client, CFStringRef name, MIDIReadProc readProc, void *refCon, MIDIEndpointRef *outDest );

    Параметры

    client

    Клиент, владеющий виртуальным местом назначения.

    name

    Имя виртуального места назначения.

    readProc

    MIDIReadProc, который вызовут, когда клиент отправляет MIDI виртуальному месту назначения.

    refCon

    refCon, который будет передан readProc.

    outDest

    По успешному возврату, указателю на недавно создаваемое место назначения.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Когда клиенты отправляют MIDI Вашему виртуальному месту назначения, указанный readProc вызывают.

    Драйверы не должны вызывать это; когда они создают устройства и объекты, источники и места назначения создаются в то время.

    После создания виртуального места назначения это - хорошая идея присвоить его тот же уникальный идентификатор, который это имело в прошлый раз, когда Ваше приложение создало его. (Несмотря на то, что Вы должны быть подготовлены к этому перестать работать в маловероятном случае коллизии.) Это разрешит другим клиентам сохранять персистентные ссылки на Ваше виртуальное место назначения более легко.

    Посмотрите обсуждение kMIDIPropertyAdvanceScheduleTimeMuSec для примечаний об отношении между тем, когда отправитель отправляет MIDI месту назначения и когда это получено.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Располагает виртуальный источник или место назначения, которое создал Ваш клиент.

    Объявление

    Swift

    func MIDIEndpointDispose(_ endpt: MIDIEndpointRef) -> OSStatus

    Objective C

    OSStatus MIDIEndpointDispose ( MIDIEndpointRef endpt );

    Параметры

    endpt

    Конечная точка, которая будет расположена.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает объект конечной точки.

    Объявление

    Swift

    func MIDIEndpointGetEntity(_ inEndpoint: MIDIEndpointRef, _ outEntity: UnsafeMutablePointer<MIDIEntityRef>) -> OSStatus

    Objective 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) -> MIDIEndpointRef

    Objective C

    MIDIEndpointRef MIDIGetDestination ( ItemCount destIndex0 );

    Параметры

    destIndex0

    Индекс (0... MIDIGetNumberOfDestinations ()-1) места назначения для возврата

    Возвращаемое значение

    Ссылка на место назначения или NULL, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает число мест назначения в системе.

    Объявление

    Swift

    func MIDIGetNumberOfDestinations() -> Int

    Objective C

    ItemCount MIDIGetNumberOfDestinations ( void );

    Возвращаемое значение

    Число мест назначения в системе, или 0, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвращает число источников в системе.

    Объявление

    Swift

    func MIDIGetNumberOfSources() -> Int

    Objective C

    ItemCount MIDIGetNumberOfSources ( void );

    Возвращаемое значение

    Число источников в системе, или 0, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвраты один из источников в системе.

    Объявление

    Swift

    func MIDIGetSource(_ sourceIndex0: Int) -> MIDIEndpointRef

    Objective 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>) -> OSStatus

    Objective 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) -> MIDIEntityRef

    Objective 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) -> Int

    Objective C

    ItemCount MIDIDeviceGetNumberOfEntities ( MIDIDeviceRef device );

    Параметры

    device

    Запрашиваемое устройство.

    Возвращаемое значение

    Число объектов, которые устройство содержит, или 0, если произошла ошибка.

    Обсуждение

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Возвраты одно из устройств в системе.

    Объявление

    Swift

    func MIDIGetDevice(_ deviceIndex0: Int) -> MIDIDeviceRef

    Objective 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() -> Int

    Objective 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>) -> OSStatus

    Objective C

    OSStatus MIDIClientCreate ( CFStringRef name, MIDINotifyProc notifyProc, void *notifyRefCon, MIDIClientRef *outClient );

    Параметры

    name

    Имя клиента.

    notifyProc

    Дополнительное (может быть NULL), функция обратного вызова, через которую клиент получит уведомления об изменениях в системе.

    notifyRefCon

    refCon, пасуемый назад к notifyRefCon

    outClient

    По успешному возврату, точкам к недавно создаваемому MIDIClientRef.

    Возвращаемое значение

    Код результата.

    Обсуждение

    Обратите внимание на то, что notifyProc будут всегда вызывать на цикле выполнения, который был текущим, когда сначала вызвали MIDIClientCreate.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Располагает объект MIDIClient.

    Объявление

    Swift

    func MIDIClientDispose(_ client: MIDIClientRef) -> OSStatus

    Objective 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 );

    Параметры

    request

    MIDISysexSendRequest который завершился или был прерван.

    Обсуждение

    Используйте эту функцию обратного вызова для уведомления приложения завершения вызова к 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 = COpaquePointer

    Objective C

    typedef MIDIObjectRef MIDIClientRef;

    Обсуждение

    Происходит из MIDIObjectRef, не сделал, чтобы возразил владелец.

    Для использования CoreMIDI приложение создает MIDIClientRef, к которому это может добавить MIDIPortRef, через который это может отправить и получить MIDI.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • MIDI-устройство или внешнее устройство, содержа объекты.

    Объявление

    Swift

    typealias MIDIDeviceRef = COpaquePointer

    Objective C

    typedef MIDIObjectRef MIDIDeviceRef;

    Обсуждение

    Происходит из MIDIObjectRef, не сделал, чтобы возразил владелец.

    MIDI-устройство, или присоединяющее непосредственно к компьютеру и управляющееся драйвером MIDI, или которое является «внешним», означая, что это подключено к управляемому драйвером устройству через стандартный кабель MIDI.

    MIDIDeviceRef имеет свойства и содержит MIDIEntityRef.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Источник MIDI или место назначения, принадлежавшее объекту.

    Объявление

    Swift

    typealias MIDIEndpointRef = COpaquePointer

    Objective C

    typedef MIDIObjectRef MIDIEndpointRef;

    Обсуждение

    Происходит из MIDIObjectRef, принадлежавшего MIDIEntityRef, если это не виртуальная конечная точка, когда нет никакого объекта владения.

    Объекты имеют любое число MIDIEndpointRef, источники и места назначения потоков MIDI с 16 каналами.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Объект MIDI, принадлежавший устройству, содержа конечные точки.

    Объявление

    Swift

    typealias MIDIEntityRef = COpaquePointer

    Objective 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 = COpaquePointer

    Objective C

    typedef MIDIObjectRef MIDIPortRef;

    Обсуждение

    Происходит из MIDIObjectRef, принадлежавшего MIDIClientRef.

    MIDIPortRef, который может быть входным портом или выходным портом, является объектом, через который клиент может связаться с любым числом источников MIDI или мест назначения.

    Оператор импорта

    Objective C

    @import CoreMIDI;

    Swift

    import CoreMIDI

    Доступность

    Доступный в iOS 4.2 и позже.

  • Узел показывает время.

    Объявление

    Swift

    typealias MIDITimeStamp = UInt64

    Objective 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 = Int32

    Objective 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(messageID messageID: MIDINotificationMessageID, messageSize messageSize: 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(messageID messageID: MIDINotificationMessageID, messageSize messageSize: UInt32, parent parent: MIDIObjectRef, parentType parentType: MIDIObjectType, child child: MIDIObjectRef, childType childType: 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(messageID messageID: MIDINotificationMessageID, messageSize messageSize: UInt32, object object: MIDIObjectRef, objectType objectType: MIDIObjectType, propertyName propertyName: 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(messageID messageID: MIDINotificationMessageID, messageSize messageSize: UInt32, driverDevice driverDevice: MIDIDeviceRef, errorCode errorCode: 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(numPackets numPackets: UInt32, packet packet: (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(destination destination: MIDIEndpointRef, data data: UnsafePointer<UInt8>, bytesToSend bytesToSend: UInt32, complete complete: Boolean, reserved reserved: (UInt8, UInt8, UInt8), completionProc completionProc: MIDICompletionProc, completionRefCon completionRefCon: 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 = Int32

    Objective 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 = Int32

    Objective 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_Device

      MIDI-устройство.

      Доступный в 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 };

    Константы

    • kMIDIInvalidUniqueID

      Уникальный идентификатор MIDI не допустим.

      Доступный в iOS 4.2 и позже.