Propriétés des cues
Tout ce qu’un script atteint via this, par type de cue. Chaque propriété se
lit avec this.<nom>.get(), et s’écrit avec this.<nom>.set(valeur) quand elle
est modifiable — une propriété en lecture seule n’a pas de set du tout.
Les écritures sont vivantes : elles changent la cue qui joue, jamais le spectacle enregistré. Modifier le même champ dans l’inspecteur pendant que la cue est à l’antenne écrase ce que le script avait posé, car le moteur y repousse alors la valeur enregistrée.
Tous les types de cue
| Propriété | Accès | Type | Signification |
|---|---|---|---|
duration | get | number | null | Durée en secondes. null si la cue ne s’arrête jamais d’elle-même. |
level | get / set | number | Niveau de lecture, de 0 à 1 — volume pour un son, opacité pour une image. L’écrire est un fondu de durée nulle, le même chemin que le curseur de l’inspecteur. Seulement sur les types marqués ci-dessous. |
level existe pour : audio, image, vidéo, texte, html, youtube, webcam,
visio, screen. Les cues de contrôle et les groupes n’ont pas de niveau.
audio
| Propriété | Accès | Type | Signification |
|---|---|---|---|
pan | get | number | Position stéréo, -1 à gauche à 1 à droite. Lecture seule : le nœud de panoramique est construit dans le graphe audio au démarrage. |
Plus duration et level.
function onTick() {
// Baisser au quart après dix secondes.
if (time > 10) this.level.set(0.25);
}
image
| Propriété | Accès | Type | Signification |
|---|---|---|---|
tint | get / set | string | null | Couleur posée sur l’image ; null pour aucune |
brightness | get / set | number | 1 = inchangée |
contrast | get / set | number | 1 = inchangé |
saturation | get / set | number | 1 = inchangée, 0 = noir et blanc |
mirrorX | get / set | boolean | Retourner horizontalement |
mirrorY | get / set | boolean | Retourner verticalement |
Plus duration et level.
vidéo
Les six mêmes que pour image, plus :
| Propriété | Accès | Type | Signification |
|---|---|---|---|
audioLevel | get / set | number | Volume du son de la vidéo, de 0 à 1 |
Plus duration et level.
texte
| Propriété | Accès | Type | Signification |
|---|---|---|---|
text | get / set | string | Le texte à l’écran |
fontFamily | get / set | string | null | Nom de la police ; null pour celle par défaut |
fontSize | get / set | number | Taille en pixels à la résolution de la sortie |
textColor | get / set | string | N’importe quelle couleur CSS |
align | get / set | string | left, center ou right |
valign | get / set | string | top, middle ou bottom |
offsetX | get / set | number | Décalage horizontal, en fraction de la largeur de sortie |
offsetY | get / set | number | Décalage vertical, en fraction de la hauteur de sortie |
tint | get / set | string | null | Couleur posée sur le texte |
brightness | get / set | number | 1 = inchangée |
contrast | get / set | number | 1 = inchangé |
saturation | get / set | number | 1 = inchangée |
Plus duration et level.
const noms = ['ANNA', 'BERT', 'CLARE'];
function onStart() {
every(2, function (index) {
this.text.set(noms[index % noms.length]);
});
}
html
| Propriété | Accès | Type | Signification |
|---|---|---|---|
tint | get / set | string | null | Couleur posée sur la page |
brightness | get / set | number | 1 = inchangée |
contrast | get / set | number | 1 = inchangé |
saturation | get / set | number | 1 = inchangée |
audioLevel | get / set | number | Volume du son de la page, de 0 à 1 |
Plus duration et level.
visio et screen
| Propriété | Accès | Type | Signification |
|---|---|---|---|
tint | get / set | string | null | Couleur posée sur l’image |
brightness | get / set | number | 1 = inchangée |
contrast | get / set | number | 1 = inchangé |
saturation | get / set | number | 1 = inchangée |
audioLevel | get / set | number | Volume du micro de l’invité, de 0 à 1 |
Plus duration et level.
webcam
| Propriété | Accès | Type | Signification |
|---|---|---|---|
audioLevel | get / set | number | Volume du micro de la caméra, de 0 à 1 |
Plus duration et level. Un flux de caméra n’est pas corrigé en couleur : ni
tint, ni brightness, ni contrast, ni saturation.
youtube
| Propriété | Accès | Type | Signification |
|---|---|---|---|
audioLevel | get / set | number | Volume de la vidéo, de 0 à 1 |
Plus duration et level. L’image vit dans une iframe d’un autre domaine, que
l’on ne peut pas filtrer : pas de propriétés de couleur.
liste de lecture
| Propriété | Accès | Type | Signification |
|---|---|---|---|
index | get | number | Élément en cours, à partir de 1 ; 0 entre deux éléments |
count | get | number | Nombre d’éléments joués en un passage |
pass | get | number | Passage en cours, à partir de 1 |
Plus duration. En lecture seule : l’ordre de lecture appartient à la liste.
function onTick() {
if (this.index.get() === this.count.get()) {
log.info('dernier élément du passage', this.pass.get());
}
}
Tout le reste
lancement multiple, fondu, fondu global, démarrage, arrêt,
arrêt global, chargement de spectacle, osc, midi, mqtt et
http exposent duration, et rien d’autre. Les cues de message sont à envoi
unique : quand un script pourrait toucher un champ, le message est déjà parti.
Volontairement absent
inputRect(la sous-zone source d’une cue visuelle) est un objet et non une valeur unique ; l’exposer veut dire s’engager sur sa forme.- Tout ce que l’inspecteur enregistre mais que la lecture ne peut pas changer en cours de route — le fichier d’une cue, son routage de sortie, ses réglages de boucle. Les changer suppose de relancer la cue.
En ajouter une
Les propriétés viennent de deux passes, dans
src/lib/engine-v2/scriptable-properties.ts :
baseScriptableProperties— ce que toute cue possède (duration, etlevelquand le runner en déclare un).- le runner de la cue, via
getScriptableProperties(cue, ctx), pour ce que seul ce type connaît. Un runner qui renvoie un nom déjà utilisé par la première passe le remplace.
Une propriété déclare un name, une description d’une ligne (c’est ce que
l’éditeur affiche à côté), un read(running, ctx) et, facultativement, un
write(running, ctx, value). Sans write, la propriété est en lecture seule
partout, y compris dans les propositions de l’éditeur.