Compartilhar via


CoreMidi Namespace

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

Classes

IOErrorEventArgs

Fornece dados para o evento de IOError .

Midi

Métodos e constantes globais para usar CoreMidi.

Midi.Notifications

Notificação postada pela Midi classe .

MidiCIProfile

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiCIProfileState

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiCISession

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiClient

Ponto de entrada principal para usar MIDI no MacOS X e iOS.

MidiDevice

Representa um dispositivo MIDI (normalmente eles representam um dispositivo de hardware, mas também existem dispositivos virtuais). Os dispositivos podem conter uma ou mais entidades.

MidiDeviceList

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiEndpoint

Os pontos de extremidade representam uma origem ou destino individual no fluxo MIDI.

MidiEntity

Um MidiObject que representa um subcomponentes de um MidiDevice.

MidiException

Exceção gerada pelos métodos Midi.

MidiNetworkConnection

Uma conexão com um host de rede MIDI, usando um MidiNetworkSession.

MidiNetworkHost

Um host MIDI remoto.

MidiNetworkSession

Uma classe singleton que mantém o MidiNetworkConnections entre várias entidades MIDI.

MidiObject

Classe base para as MidiClientclasses , MidiEntityMidiPort, MidiDevice e MidiEndpoint .

MidiPacket

Encapsula uma série de eventos MIDI.

MidiPacketsEventArgs

Fornece dados para os MessageReceived eventos E:CoreMidi.MidiPacketsEventArgs.MessageReceived .

MidiPort

Portas de entrada e saída.

MidiThruConnection

Gerencia conexões de reprodução MIDI.

MidiThruConnectionParams

Transformações e roteamentos MIDI.

ObjectAddedOrRemovedEventArgs

Fornece dados para os ObjectRemoved eventos E:CoreMidi.ObjectAddedOrRemovedEventArgs.ObjectRemoved .

ObjectPropertyChangedEventArgs

Fornece dados para o evento de PropertyChanged .

Estruturas

MidiCIDeviceIdentification

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiControlTransform

Representa uma transformação de um controle MIDI.

MidiThruConnectionEndpoint

Origem ou destino de um MidiThruConnection.

MidiTransform

Objeto que define como um evento MIDI é transformado.

MidiValueMap

Mapa de valores MIDI.

Enumerações

MidiError

Erros gerados pela pilha CoreMIDI.

MidiNetworkConnectionPolicy

Uma enumeração cujos valores especificam quais hosts estão qualificados para se conectar a uma sessão de rede MIDI.

MidiTransformControlType

Tipo de transformação controle MIDI.

MidiTransformType

Tipos de transformação MIDI.

Delegados

MidiCIProfileChangedHandler

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiCIPropertyChangedHandler

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

MidiCIPropertyResponseHandler

O namespace CoreMidi fornece classes para interagir com o subsistema MIDI.

Comentários

CoreMIDI é uma API que conversa com o servidor MIDI no iOS e no OSX que, por sua vez, interage com dispositivos MIDI conectados ao seu dispositivo Mac ou iOS.

Ao usar o CoreMIDI, você encontrará várias classes que lidam com diferentes partes da pilha MIDI, o gráfico a seguir ilustra as relações:

O próprio dispositivo MIDI é representado pela MidiDevice classe . Os dispositivos podem conter uma ou mais entidades (MidiEntity). Por exemplo, um dispositivo MIDI pode conter dois geradores de tom MIDI independentes. Cada Entidade contém uma série de pontos de extremidade que são fontes ou destinos. As fontes MIDI e os destinos MIDI são encapsulados pela MidiEntity classe .

Para começar com MIDI, você precisará criar um MidiClient objeto . Esse objeto é o gateway entre o aplicativo e o processo do servidor MIDI. Você assina os eventos que esse objeto gera para acompanhar os dispositivos que estão sendo adicionados, removidos e para alterações em suas propriedades e configuração de configuração.

Você também usa o MidiClient para criar portas de entrada e portas de saída. As portas de entrada acionam o MessageReceived evento quando novos dados MIDI estão disponíveis e você pode usar a Packets propriedade nos argumentos recebidos para obter os dados

Consulte a MidiClient classe para obter um exemplo de como configurar as coisas.

Para usar conexões MIDI em rede, você precisa habilitar a sessão de rede e definir sua política de conexão, desta forma:

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

Para se conectar a um host de rede MIDI remoto, use o MidiNetworkHost, desta forma:

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