CoreMidi Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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);