Arbre de contrôle avancé

Q-SYS Control 101 Training (French) : Notions de base sur les scripts

3 ) Communication simple

12m 48s

4 ) Blocs de contrôle

19m 7s

5 ) Notions de base sur les scripts

32m 5s

6 ) Contrôle de flux

34m 20s

7 ) Conclusion du Control 101

1m 43s

Description de la leçon

Arbre de contrôle avancé 7m 27s

Explorez davantage les propriétés de métadonnées de chaque contrôle disponibles dans son arbre de contrôle.

Transcription Vidéo

Arbre de contrôle avancé 7m 27s
0:07
Maintenant que nous avons ajouté des contrôleurs dans notre environnement de script, voyons plus en
0:12
détail les métadonnées de chaque contrôleur dans son arbre de contrôle. Vous devriez maintenant être
0:16
familiarisé avec point-Value, point-String, et point-Position pour la plupart des contrôleurs, alors
0:22
étudions d'autres de ces propriétés. Dans les vidéos à venir, nous verrons comment créer des fonctions
0:28
pour changer chaque propriété, mais pour le moment, découvrons simplement les propriétés à notre disposition.
0:35
Tout d'abord, il y a des options visuelles. Point-Color, par exemple, change la couleur principale du
0:40
contrôleur. Il peut être utile de changer la couleur d'un fader par exemple lorsqu'il s'approche des
0:46
limites de sa plage, ou quand son canal est mis en sourdine.
0:51
La propriété point-Color peut être représentée par des codes couleur hexadécimaux, ainsi que par tou
0:56
sles noms de couleurs HTML garanties sur le Web.
1:00
Dans le Block Controller, vous pouvez régler cela avec le bloc « Set Control Visual ». Si vous n'aimez
1:07
aucune de ces 70 couleurs, vous pouvez faire un autre choix dans la catégorie des valeurs.
1:14
Et si nous regardons le script Lua généré par ce Block Controller, nous voyons que cela attribue juste une
1:20
valeur à l'arbre de contrôle point-Color.
1:24
La propriété point-Legend fait référence à l'intitulé du contrôleur. Il diffère du nom Kevin que vous avez
1:30
fourni quand vous avez créé le contrôleur, qui ne peut pas être modifié par le script.
1:35
Saisir une légende, c’est comme taper un texte sur un contrôleur pour le renommer, mais comme un
1:41
script permet de la changer dynamiquement, c'est un excellent moyen de changer l'intitulé d'un bouton
1:45
en fonction de son état.
1:49
Dans le Block Controller, cela est représenté par un autre bloc « Set Control Visual ». Ces blocs « Set
1:55
Control Visual » sont tous les mêmes mais avec un visuel différent présélectionné, donc il me suffit de
2:01
changer ce menu déroulant ici pour changer sa cible.
2:05
Tant que nous sommes là, regardons les autres. Point-IsInvisible est une propriété qui peut être définie
2:11
comme « vraie » ou « fausse » pour rendre un contrôleur invisible ou à nouveau visible. Vous pouvez
2:17
l'utiliser par exemple pour masquer certaines commandes téléphoniques d'une UCI lorsque le téléphone est utilisé.
2:23
De même, le choix visuel point-IsDisabled rendra un contrôleur semi-transparent et non interactif. Cela
2:31
permet à l'utilisateur de savoir qu'il ne peut pas actuellement se servir de ce contrôleur dans ces conditions.
2:36
La propriété point-IsIndeterminate est un autre exemple de bouton désactivé, mais qui sera plutôt lue
2:43
depuis un contrôleur que programmée par vous.
2:49
Lorsque par exemple un périphérique n'est pas connecté au réseau, ses contrôleurs prennent cette
2:53
couleur rouge pâle, résultat de cette propriété indéterminée. Cela signifie que le système ne peut pas
3:00
déterminer la connexion entre ce contrôleur et son dispositif parent, et qu'elle est donc indéterminée.
3:06
Supposons que vous surveillez la fermeture d'un contact d'alarme d'incendie sur un châssis I/O Frame –
3:12
vous pouvez surveiller à la fois tout signe d'alarme d'incendie dans la valeur du contrôleur et la propriété
3:17
point-IsIndeterminate. Parce que si celle-ci devient vraie, vous savez que vous n'avez plus de connexion
3:23
avec cet appareil, et donc que votre système d'alarme incendie ne fonctionnera pas.
3:28
Vous remarquerez peut-être qu'un bouton Knob a ses propriétés point-Value, point-String et point-
3:33
Position disponibles ici dans le Block Controller, mais un bouton Toggle a quelque chose de différent –
3:39
une propriété appelée point-Boolean. Pour un contrôleur qui n'a que deux états comme un bouton
3:45
binaire, point-Boolean représente essentiellement sa valeur.
3:49
Lorsqu'on y fait est référence seul, le booléen est supposé être vrai, mais vous pouvez le faire passer sur
3:55
faux pour désactiver le contrôleur. Dans le script Lua, cependant, vous pouvez faire référence à la
4:01
propriété point-Boolean d'un bouton ainsi qu'à sa propriété point-Value, point-String, ou point-Position.
4:08
Pour les contrôleurs d'entrée, vous verrez beaucoup dans les prochaines vidéos une propriété d'arbre de
4:12
contrôle très importante : point-EventHandler.
4:16
Dans un monde plein d'événements, quelqu'un doit les gérer
4:20
« Voilà… c’est fait. »
4:25
L’EventHandler ou Gestionnaire d'événements est déclenché chaque fois que l'état du contrôleur
4:29
change. Fondamentalement, il indique que quelque chose s'est produit, ce qui peut vous servir à initier
4:36
une action. Cela n'a de sens qu'en tant qu'arbre de contrôle d’entrée – et nous l'utiliserons beaucoup
4:40
quand nous commencerons à écrire des fonctions.
4:43
Si vous voulez que quelque chose se produise quand on presse le bouton, vous utiliserez pour cela le
4:47
point-EventHandler. Dans le Block Controller, il est représenté par ce bloc « on control change », qui – si
4:55
nous regardons le script Lua généré – est le début d'une fonction, initiée par notre bon ami l’EventHandler.
5:04
Certains types de contrôleurs ont une propriété point-Values – c'est-à-dire des valeurs plurielles, ce qui
5:11
diffère de point-Value. Par exemple, cela permettrait à un compteur ou Meter de fournir à la fois une
5:16
valeur crête et une valeur moyenne sous forme de collection. Il y a aussi une propriété point-Choices
5:22
pour les contrôleurs ayant des menus de sélection déroulants.
5:25
Pour les contrôleurs de sortie, la propriété point-RampTime permet de définir le temps nécessaire à un
5:31
contrôleur pour passer d'une valeur à une autre, de sorte qu’au prochain réglage de point-Value ou
5:37
point-Position de ce contrôleur, il faudra ce laps de temps pour y arriver. La propriété point-RampTime
5:44
est exprimée en secondes.
5:47
Enfin, regardons les boutons Trigger. Nous avons dit plusieurs fois que les Triggers sont uniques car ils
5:53
n'ont ni valeurs, ni chaînes, ni positions. Normalement, vous pouvez changer l'état d'un contrôleur en
5:59
ajustant ces propriétés, mais pour un Trigger, vous devrez faire ceci : Contrôleur - deux points - Trigger -
6:06
ouvrir fermer les parenthèses.
6:08
Notez ici l'utilisation des deux points au lieu d’un seul. Les deux points indiquent une méthode plutôt
6:13
qu'une propriété. Une méthode est une action qu'un contrôleur peut effectuer. Pas besoin de régler le
6:21
« deux points - Trigger » sur vrai ou faux, les deux-points sont tout ce dont vous avez besoin pour activer cette méthode.
6:28
Il existe un certain nombre de méthodes d'arbre de contrôle que vous découvrirez avec certains
6:32
contrôleurs. Vous les verrez lorsque vous commencerez à gérer des minuteurs ayant une méthode
6:37
« deux points - Start » et « deux points - Stop », ou avec des connexions TCP ayant des méthodes telles
6:42
que « deux points - Connect », « deux points - Disconnect », etc.
6:45
Nous n'aborderons pas la création de connexions TCP par Lua dans cette formation Contrôle en ligne,
6:50
car il est beaucoup plus facile d'utiliser le Block Controller pour envoyer et recevoir des chaînes sur le
6:55
réseau. Et si vous voulez activer un Trigger dans un Block controller, vous trouverez pour ce contrôleur
7:00
un bloc spécifique qui active sa méthode.
7:04
Bien, nous sommes allés aussi loin que nécessaire dans l'arbre de contrôle pour l'instant, alors revenons
7:09
au Cahier d'exercices Q-SYS Contrôle. Il n'y a pas de véritable exercice pour cela, juste une
7:13
démonstration de certaines propriétés. Jetez-y un coup d'œil, et ensuite nous pourrons passer à la
7:18
création de certaines fonctions, afin que votre script puisse réellement faire quelque chose ! Reprenez
7:23
quand vous serez prêt.