CoreMidi Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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);