Table des matières du kit Midi     Index du kit Midi

BMidiPort

Hérité de: public BMidi

Déclaré dans: be/midi/MidiPort.h

Bibliothèque: libmidi.so

Résumé

Un objet BMidiPort lit et écrit des données MIDI sur un port matériel MIDI. Un port matériel MIDI possède une entrée (MIDI-In) et une sortie (MIDI-Out); un seul objet BMidiPort peut communiquer en entrée et en sortie. De plus, vous pouvez créer et utiliser n'importe quel nombre d'instances de BMidiPort dans votre application: de multiples objets BMidiPort peuvent ouvrir et utiliser le même port matériel en même temps.

Un port MIDI est désigné par un nom, transmis au constructeur de l'objet BMidiPort ou à la fonction Open(). Utilisez la fonction GetDeviceName() pour obtenir les noms des ports MIDI. Ceux-ci sont fermés par Close() et le sont automatiquement quand l'objet BMidiPort est détruit.

Sur un Macintosh, il y a deux ports MIDI:

Sur du matériel Intel...

Une instance de BMidiPort ne peut ouvrir qu'un port à la fois.


BMidiPort et fonctions MIDI Hook

Il est possible d'utiliser le même objet BMidiPort pour recevoir des données de MIDI-In et émettre d'autres données vers MIDI-Out. Vous pouvez même associer un objet BMidiPort à lui-même pour créer un effet MIDI-Thru: toutes les données se présentant au port MIDI-In seront automatiquement renvoyées sur le port MIDI-Out.


Constructeur et Destructeur


BMidiPort()

                                                         
  

BMidiPort(const char *name = NULL)

Crée une nouvelle instance de BMidiPort et l'ouvre sur le port désigné. Si le nom n'est pas donné, l'objet ne sera ouvert qu'à l'appel de la fonction Open().


~BMidiPort()

                                                         
  

virtual ~BMidiPort()

Ferme les connexions au port MIDI.


Fonctions membres


AllNotesOff()

                                                         
  

bool AllNotesOff(bool controlOnly, uint32 time = B_NOW)

Provoque l'émission par l'objet BMidiPort d'un message MIDI All Notes Off vers le port MIDI-Out. Si controlOnly a la valeur true, seul le message All Notes Off est envoyé; s'il contient false, un message Note Off est aussi transmis à chaque note de chaque canal.


Close()

                                                         
  

void Close(void)

Ferme le port MIDI de l'objet. Ce port doit avoir été précédemment ouvert par Open().


CountDevices() , GetDeviceName()

                                                         
  

int32 CountDevices(void)

status_t GetDeviceName(int32 n, char *name,
      size_t bufSize = B_OS_NAME_LENGTH )

Ces deux fonctions œuvrent ensemble pour vous permettre d'identifier les noms de tous les ports MIDI:

CountDevices() renvoie le nombre de ports MIDI reconnus par le système.

GetDeviceName() retourne, dans name, le nom du nième port MIDI. bufSize est la taille du buffer name, en caractères. Il ne doit pas être plus grand que B_OS_NAME_LENGTH (défini dans OS.h).

VALEURS DE RETOUR

GetDeviceName() renvoie...


InitCheck()

                                                         
  

status_t InitCheck() const

Renvoie le statut du précédent appel d'ouverture de port. Cette fonction est surtout prévue pour que vous puissiez obtenir ce renseignement après l'ouverture d'un port par le constructeur.

VALEURS DE RETOUR


Open()

                                                         
  

status_t Open(const char *name)

Ouvre le port MIDI désigné par name, de façon à ce que l'objet puisse lire et écrire des données MIDI. Utilisez la fonction GetDeviceName() pour obtenir les noms des ports MIDI. L'objet n'a pas l'exclusivité des ports qu'il a ouverts: d'autres objets BMidiPort, pouvant provenir d'autres applications, peuvent ouvrir les mêmes ports MIDI. Vous pourrez fermer ces ports par un simple appel à Close(), lorsque vous n'en aurez plus besoin.

La connexion à MIDI-Out est active à partir du moment où l'objet est ouvert: les messages se présentant via les fonctions MIDI Hook sont automatiquement envoyées au port MIDI-Out. Pour commencer la lecture du port MIDI-In, appelez la fonction Start() de l'objet.

La fonction renvoie B_OK si le port a été correctement ouvert.


Start() , Stop()

                                                         
  

virtual status_t Start(void)

virtual void Stop(void)

Start() active la lecture MIDI-In de l'objet. L'objet appelle la fonction Spray appropriée à chaque message qu'il reçoit.

Stop() arrête la lecture MIDI-In de l'objet.

Aucune de ces fonctions n'agit sur la fonction MIDI-Out du port.


Fonctions MIDI Hook

La classe BMidiPort met en œuvre les fonctions MIDI Hook pour écrire des données sur le port MIDI-Out. Voyez la classe BMidi pour prendre connaissance de la syntaxe de ces fonctions.


Table des matières du kit Midi     Index du kit Midi


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..