Condividi tramite


CoreMidi Spazio dei nomi

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

Classi

IOErrorEventArgs

Fornisce dati per l'evento IOError.

Midi

Metodi e costanti globali per l'uso di CoreMidi.

Midi.Notifications

Notifica pubblicata dalla Midi classe .

MidiCIProfile

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiCIProfileState

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiCISession

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiClient

Punto di ingresso principale da usare MIDI in MacOS X e iOS.

MidiDevice

Rappresenta un dispositivo MIDI (in genere rappresentano un dispositivo hardware, ma esistono anche dispositivi virtuali). I dispositivi possono contenere una o più entità.

MidiDeviceList

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiEndpoint

Gli endpoint rappresentano un'origine o una destinazione singola nel flusso MIDI.

MidiEntity

Oggetto MidiObject che rappresenta un componente secondario di un MidiDeviceoggetto .

MidiException

Eccezione generata dai metodi Midi.

MidiNetworkConnection

Connessione a un host di rete MIDI usando un MidiNetworkSessionoggetto .

MidiNetworkHost

Host MIDI remoto.

MidiNetworkSession

Classe singleton che gestisce l's MidiNetworkConnectiontra varie entità MIDI.

MidiObject

Classe di base per le MidiClientclassi , MidiPort, MidiEntityMidiDevice e MidiEndpoint .

MidiPacket

Incapsula una serie di eventi MIDI.

MidiPacketsEventArgs

Fornisce dati per gli MessageReceived eventi e .

MidiPort

Porte di input e output.

MidiThruConnection

Gestisce le connessioni play-through MIDI.

MidiThruConnectionParams

Trasformazioni MIDI e routing.

ObjectAddedOrRemovedEventArgs

Fornisce i dati per gli ObjectRemoved eventi e .

ObjectPropertyChangedEventArgs

Fornisce dati per l'evento PropertyChanged.

Struct

MidiCIDeviceIdentification

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiControlTransform

Rappresenta una trasformazione di un controllo MIDI.

MidiThruConnectionEndpoint

Origine o Destinazione di un MidiThruConnectionoggetto .

MidiTransform

Oggetto che definisce come viene trasformato un evento MIDI.

MidiValueMap

Mappa dei valori MIDI.

Enumerazioni

MidiError

Errori generati dallo stack CoreMIDI.

MidiNetworkConnectionPolicy

Enumerazione i cui valori specificano quali host sono idonei a connettersi a una sessione di rete MIDI.

MidiTransformControlType

Tipo di trasformazione del controllo MIDI.

MidiTransformType

Tipi di trasformazione MIDI.

Delegati

MidiCIProfileChangedHandler

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiCIPropertyChangedHandler

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

MidiCIPropertyResponseHandler

Lo spazio dei nomi CoreMidi fornisce classi per interagire con il sottosistema MIDI.

Commenti

CoreMIDI è un'API che parla con il server MIDI su iOS e OSX, che a sua volta interagisce con i dispositivi MIDI connessi al dispositivo Mac o iOS.

Quando si usa CoreMIDI, si eseguiranno varie classi che gestiscono parti diverse dello stack MIDI, l'immagine seguente illustra le relazioni:

Il dispositivo MIDI stesso è rappresentato dalla MidiDevice classe . I dispositivi possono contenere una o più entità (MidiEntity). Ad esempio, un dispositivo MIDI può contenere due generatori di toni MIDI indipendenti. Ogni entità contiene una serie di endpoint che sono origini o destini. Entrambe le origini MIDI e le destinazioni MIDI sono incapsulate dalla MidiEntity classe.

Per iniziare con MIDI, sarà necessario creare un MidiClient oggetto. Questo oggetto è il gateway tra l'applicazione e il processo del server MIDI. Si sottoscrive gli eventi generati da questo oggetto per tenere traccia dei dispositivi aggiunti, rimossi e alle modifiche nelle relative proprietà e configurazione.

È anche possibile usare per MidiClient creare porte di input e porte di output. Le porte di input generano l'evento MessageReceived quando sono disponibili nuovi dati MIDI e è possibile usare la Packets proprietà negli argomenti ricevuti per recuperare i dati

Vedere la MidiClient classe per un esempio di come configurare le cose.

Per usare le connessioni MIDI in rete, è necessario abilitare la sessione di rete e impostare i criteri di connessione, come indicato di seguito:

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

Per connettersi a un host di rete MIDI remoto, usare , MidiNetworkHostcome illustrato di seguito:

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