
Utilisation de l’objet JavaScript Event dans MainStage
Lorsqu’une fonction HandleMIDI est appelée, un objet Event représente un évènement MIDI et implémente plusieurs méthodes que vous pouvez appeler dans votre script.
L’objet Event n’est pas directement instancié, mais constitue un prototype pour les méthodes, propriétés et types spécifiques des évènements suivants.
Astuce : le mot-clé JavaScript « new » vous permet de générer une nouvelle instance d’un objet Event de quelque type que ce soit.
Méthodes d’Event
Event.send() : envoie l’évènement.
Event.sendAfterMilliseconds(valeur en ms) : envoie l’évènement après que la valeur précisée s’est écoulée (la valeur peut être exprimée sous forme d’un entier ou d’un nombre à virgule flottante).
Event.sendAtBeat(numéro du temps) : envoie l’évènement à un temps particulier (numéro à virgule flottante) dans la timeline de l’hôte.
Event.sendAfterBeats(numéro du temps) : identique à la méthode ci-dessus, à la différence que sa valeur de temps représente un retard exprimé en temps à partir du point actif.
Event.trace() : affiche le résultat dans la console du module. Consultez la section Utilisation de l’objet Trace.
Event.toString() : renvoie une représentation de l’évènement sous forme de chaîne.
Propriétés de l’objet Event
Event.toarticulationID(entier) : définit l’identifiant de l’articulation allant de 0 à 254.
Event.channel(nombre) : définit le canal MIDI, de 1 à 16.
Event.beatPos : Récupère la position de temps exacte de l’évènement.
Types d’évènements
L’objet Event est un prototype pour les types d’évènements suivants. Tous les types d’évènements héritent les méthodes et les propriétés de canaux décrites ci-dessus.
Les types d’évènements et leurs propriétés sont passés à HandleMIDI comme suit :
NoteOn.pitch(nombre entier) : tonalité de 1 à 127.
NoteOn.velocity(nombre entier) : vélocité de 0 à 127. Une valeur de vélocité de 0 est interprétée comme un évènement de relâchement de touche et non comme un déclenchement de note.
NoteOff.pitch(nombre entier) : tonalité de 1 à 127.
NoteOff.velocity(nombre entier) : vélocité de 0 à 127.
PolyPressure.pitch(nombre entier) : tonalité de 1 à 127.
PolyPressure.value(nombre entier) : Il définit la valeur de pression allant de 0 à 127.
ControlChange.number(nombre entier) : numéro de contrôleur de 0 à 127.
ControlChange.value(nombre entier) : valeur de contrôleur de 0 à 127.
ProgramChange.number(nombre entier) : numéro de changement de programme de 0 à 127.
ChannelPressure.value(nombre entier) : valeur d’aftertouch de 0 à 127.
PitchBend.value(nombre entier) : valeur de pitchbend sur 14 bits, de – 8192 à 8191. Une valeur de 0 correspond au centre.
TargetEvent.target(chaîne) : permet de créer des messages CC MIDI définissables par l’utilisateur ou de contrôler les paramètres du module.
TargetEvent.value(virgule flottante) : Il détermine la valeur cible.
Chargez le réglage Tutoriel correspondant pour afficher le script dans l’éditeur de scripts. Vous comprendrez ainsi la structure de la syntaxe et la mise en page du code et des commentaires. Consultez la section Utilisation de l’éditeur de scripts.