Поделиться через


CoreMidi Пространство имен

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

Классы

IOErrorEventArgs

Предоставляет данные для события IOError.

Midi

Глобальные методы и константы для использования CoreMidi.

Midi.Notifications

Уведомление, размещенное классом Midi .

MidiCIProfile

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiCIProfileState

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiCISession

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiClient

Основная точка входа для использования MIDI в MacOS X и iOS.

MidiDevice

Представляет устройство MIDI (обычно они представляют собой аппаратное устройство, но виртуальные устройства также существуют). Устройства могут содержать одну или несколько сущностей.

MidiDeviceList

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiEndpoint

Конечные точки представляют отдельный источник или назначение в потоке MIDI.

MidiEntity

Объект MidiObject , представляющий подкомпонент MidiDeviceобъекта .

MidiException

Исключение, вызываемое методами Midi.

MidiNetworkConnection

Подключение к узлу сети MIDI с помощью MidiNetworkSession.

MidiNetworkHost

Удаленный узел MIDI.

MidiNetworkSession

Одноэлементный класс, который поддерживает MidiNetworkConnections между различными сущностями MIDI.

MidiObject

Базовый MidiClientкласс для классов , MidiPort, MidiEntityи MidiEndpointMidiDevice .

MidiPacket

Инкапсулирует ряд событий MIDI.

MidiPacketsEventArgs

Предоставляет данные для MessageReceived событий E:CoreMidi.MidiPacketsEventArgs.MessageReceived .

MidiPort

Порты ввода и вывода.

MidiThruConnection

Управляет подключениями воспроизведения MIDI.

MidiThruConnectionParams

Преобразования и маршрутизации MIDI.

ObjectAddedOrRemovedEventArgs

Предоставляет данные для ObjectRemoved событий E:CoreMidi.ObjectAddedOrRemovedEventArgs.ObjectRemoved .

ObjectPropertyChangedEventArgs

Предоставляет данные для события PropertyChanged.

Структуры

MidiCIDeviceIdentification

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiControlTransform

Представляет преобразование элемента управления MIDI.

MidiThruConnectionEndpoint

Источник или назначение объекта MidiThruConnection.

MidiTransform

Объект , определяющий способ преобразования события MIDI.

MidiValueMap

Схема значений MIDI.

Перечисления

MidiError

Ошибки, вызванные стеком CoreMIDI.

MidiNetworkConnectionPolicy

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

MidiTransformControlType

Тип преобразования элемента управления MIDI.

MidiTransformType

Типы преобразования MIDI.

Делегаты

MidiCIProfileChangedHandler

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiCIPropertyChangedHandler

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

MidiCIPropertyResponseHandler

Пространство имен CoreMidi предоставляет классы для взаимодействия с подсистемой MIDI.

Комментарии

CoreMIDI — это API, взаимодействующий с MIDI-сервером в iOS и OSX, который, в свою очередь, взаимодействует с MIDI-устройствами, подключенными к устройству Mac или iOS.

При использовании CoreMIDI вы будете сталкиваться с различными классами, которые работают с разными частями стека MIDI. На следующем рисунке показаны связи:

Само устройство MIDI представлено классом MidiDevice . Устройства могут содержать одну или несколько сущностей (MidiEntity). Например, устройство MIDI может содержать два независимых генератора тона MIDI. Каждая сущность содержит ряд конечных точек, которые являются источниками или предназначениями. Как источники MIDI, так и назначения MIDI инкапсулируются классом MidiEntity .

Чтобы начать с MIDI, необходимо создать MidiClient объект . Этот объект является шлюзом между приложением и процессом СЕРВЕРА MIDI. Вы подписываетесь на события, создаваемые этим объектом, для отслеживания добавляемых и удаляемых устройств, а также для изменения их свойств и конфигурации установки.

Вы также используете для MidiClient создания входных и выходных портов. Входные порты вызывают событие, MessageReceived когда доступны новые данные MIDI, и вы можете использовать Packets свойство в полученных аргументах, чтобы получить данные.

Пример настройки см. в MidiClient классе .

Чтобы использовать сетевые MIDI-подключения, необходимо включить сетевой сеанс и задать его политику подключения следующим образом:

var session = MidiNetworkSession.DefaultSession;
session.Enabled = true;
session.ConnectionPolicy = MidiNetworkConnectionPolicy.Anyone;

Чтобы подключиться к удаленному сетевому узлу MIDI, используйте MidiNetworkHost, как показано ниже:

var host = MidiNetworkHost.Create ("My Session", "myhost.xamarin.com", 5004);
var connection = MidiNetworkConnection.FromHost (host);