Tables des matières du kit Midi | Index du kit Midi |
Hérité de: public BMidi
Déclaré dans: be/midi/MidiText.h
Bibliothèque: libmidi.so
Un objet BMidiText affiche, sur la sortie standard, une description en texte de chaque message MIDI qu'il reçoit. Utilisez BMidiText pour mettre au point et contrôler votre programme: c'est la seule fonction de cette classe.
Pour utiliser un objet BMidiText, créez-le et associez-le à d'autre objets BMidi, ainsi:
BMidiText midiText; otherMidiObj.Connect(midiText); otherMidiObj.Start();
La sortie de BMidiText (le texte affiché) est synchronisée: l'objet qui recevrait un message MIDI par avance restera en attente le temps que le moment soit venu pour lui d'afficher son texte. Durant cette attente, l'objet ne traitera aucun autre message en arrivée. Pour cette raison, vous ne devez pas connecter le même objet BMidiText à plus d'un objet BMidi. Pour surveiller plusieurs objets générateurs de messages MIDI, vous associerez un objet BMidiText distinct à chacun.
Le texte affiché par BMidiText est généralement sous cette forme (le détail des formats est décrit dans le paragraphe "Texte en sortie") :
moment: TYPE DE MESSAGE; données du message
Le champ moment (timestamp) mérite une remarque particulière: il contient le nombre de millièmes de secondes écoulées depuis la réception du premier message par l'objet. Le temps est décompté par une horloge interne; pour la réinitialiser (ce qui peut être judicieux, par exemple entre deux exécutions), appelez la fonction ResetTimer().
La classe BMidiText ne génère ni ne diffuse de messages MIDI, aussi les fonctions de jeu et de connexion dont elle hérite de BMidi sont-elles sans effet.
|
Le constructeur crée un nouvel objet BMidiText. L'horloge de cet objet est initialisée à zéro et n'entame son décompte qu'à réception du premier message. On peut toutefois lui imposer un départ immédiat par appel à ResetTimer(true).
Le destructeur supprime l'objet.
|
Réinitialise l'horloge interne de l'objet à zéro. Si start contient la valeur false, l'horloge attend le prochain message MIDI pour entamer son décompte; sinon (start vaut true), elle démarre immédiatement.
Le décompte de l'horloge sert à déterminer la valeur temporelle qui est affichée au début de chaque description de message.
Les textes affichés par BMidiText sont indiqués ci-dessous, classés par évènement MIDI:
moment: CHANNEL PRESSURE; channel = canal, pressure = pression
moment: CONTROL CHANGE; channel = canal, control = numéro du contrôle, value = valeur de contrôle
moment: KEY PRESSURE; channel = canal, note = note, pressure = pression
moment: NOTE OFF; channel = canal, note = note, velocity = vélocité
moment: NOTE ON; channel = canal, note = note, velocity = vélocité
moment: PITCH BEND; channel = canal, lsb = bit de poids fort (Least Significant Bit), msb = bit de poids faible (Most Significant Bit)
moment: PROGRAM CHANGE; channel = canal, program = numéro de programme
moment: SYSTEM COMMON; status = statut, data1 = octet 1, data2= octet 2
moment: SYSTEM EXCLUSIVE;
Suivent les données elles-mêmes (en hexadécimal, octet par octet), à partir de la ligne suivante.
moment: SYSTEM REAL TIME; status = statut
Table des matières du kit Midi | Index du kit Midi |
Copyright © 2000 Be, Inc. All rights reserved..