CoreMidi Espacio de nombres

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

Clases

IOErrorEventArgs

Proporciona datos para el evento IOError.

Midi

Métodos y constantes globales para usar CoreMidi.

Midi.Notifications

Notificación publicada por la Midi clase .

MidiCIProfile

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiCIProfileState

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiCISession

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiClient

Punto de entrada principal para usar MIDI en MacOS X e iOS.

MidiDevice

Representa un dispositivo MIDI (normalmente representan un dispositivo de hardware, pero también existen dispositivos virtuales). Los dispositivos pueden contener una o varias entidades.

MidiDeviceList

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiEndpoint

Los puntos de conexión representan un origen o destino individuales en la secuencia MIDI.

MidiEntity

que MidiObject representa un subcomponente de .MidiDevice

MidiException

Excepción generada por métodos Midi.

MidiNetworkConnection

Una conexión a un host de red MIDI, mediante .MidiNetworkSession

MidiNetworkHost

Un host MIDI remoto.

MidiNetworkSession

Una clase singleton que mantiene los MidiNetworkConnectionelementos entre varias entidades MIDI.

MidiObject

Clase base para las MidiClientclases , MidiPort, MidiDeviceMidiEntityy MidiEndpoint .

MidiPacket

Encapsula una serie de eventos MIDI.

MidiPacketsEventArgs

Proporciona datos para los MessageReceived eventos E E:CoreMidi.MidiPacketsEventArgs.MessageReceived .

MidiPort

Puertos de entrada y salida.

MidiThruConnection

Administra las conexiones de reproducción MIDI.

MidiThruConnectionParams

Transformaciones y enrutamientos MIDI.

ObjectAddedOrRemovedEventArgs

Proporciona datos para los ObjectRemoved eventos E E:CoreMidi.ObjectAddedOrRemovedEventArgs.ObjectRemoved .

ObjectPropertyChangedEventArgs

Proporciona datos para el evento PropertyChanged.

Estructuras

MidiCIDeviceIdentification

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiControlTransform

Representa una transformación de un control MIDI.

MidiThruConnectionEndpoint

Origen o Destino de .MidiThruConnection

MidiTransform

Objeto que define cómo se transforma un evento MIDI.

MidiValueMap

Mapa de valores MIDI.

Enumeraciones

MidiError

Errores generados por la pila CoreMIDI.

MidiNetworkConnectionPolicy

Enumeración cuyos valores especifican qué hosts son aptos para conectarse a una sesión de red MIDI.

MidiTransformControlType

Tipo de transformación control MIDI.

MidiTransformType

Tipos de transformación MIDI.

Delegados

MidiCIProfileChangedHandler

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiCIPropertyChangedHandler

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

MidiCIPropertyResponseHandler

El espacio de nombres CoreMidi proporciona clases para interactuar con el subsistema MIDI.

Comentarios

CoreMIDI es una API que se comunica con el servidor MIDI en iOS y OSX, que a su vez interactúa con dispositivos MIDI conectados a su dispositivo Mac o iOS.

Al usar CoreMIDI, se encontrará con varias clases que tratan con diferentes partes de la pila MIDI, en el gráfico siguiente se muestran las relaciones:

El propio dispositivo MIDI se representa mediante la MidiDevice clase . Los dispositivos pueden contener una o varias entidades (MidiEntity). Por ejemplo, un dispositivo MIDI podría contener dos generadores de tonos MIDI independientes. Cada entidad contiene una serie de puntos de conexión que son orígenes o destinos. Tanto los orígenes MIDI como los destinos MIDI están encapsulados por la MidiEntity clase .

Para empezar con MIDI, deberá crear un MidiClient objeto . Este objeto es la puerta de enlace entre la aplicación y el proceso del servidor MIDI. Se suscribe a los eventos que este objeto genera para realizar un seguimiento de los dispositivos que se agregan, quitan y a los cambios en sus propiedades y configuración de configuración.

También se usa MidiClient para crear puertos de entrada y puertos de salida. Los puertos de entrada generan el MessageReceived evento cuando hay nuevos datos MIDI disponibles y puede usar la Packets propiedad en los argumentos recibidos para obtener los datos.

Consulte la MidiClient clase para obtener un ejemplo de cómo configurar las cosas.

Para usar conexiones MIDI en red, debe habilitar la sesión de red y establecer su directiva de conexión, de la siguiente manera:

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

Para conectarse a un host de red MIDI remoto, use , MidiNetworkHostde la siguiente manera:

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