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