0:08
Une fois familiarisé avec les composants de contrôle, vous pouvez commencer à les combiner pour
0:12
obtenir des résultats plus intéressants. Comme dans un jeu Mouse Trap ou une machine de Rube
0:17
Goldberg, vous pouvez les connecter ensemble pour ne déclencher un événement que si des conditions
0:22
très spécifiques sont remplies. Vous pouvez faire preuve d'une grande créativité dans leur utilisation et
0:27
accomplir toute une diversité de tâches. Vous finirez néanmoins par vous heurter à un mur – on peut
0:33
accomplir beaucoup de choses avec ces outils simples, mais il viendra un moment où vous aurez besoin
0:37
d'un langage de codage plus compliqué comme nos scripts ou notre Block Controller. Cependant, dans
0:42
cette vidéo, nous allons voir quelques exemples de ce que vous pouvez accomplir avec les composants
0:48
de contrôle, et jeter un coup d'œil à de nouveaux composants. Si vous voulez regarder l'une d'entre eux
0:55
en particulier, n'hésitez pas à sauter au début de chaque section.
1:02
Voici un scénario courant – il faut mettre le fader de gain d'un microphone dans une UCI, mais cette UCI
1:08
va être gérée par un humain, et – je ne sais pas si vous avez déjà rencontré un humain – mais la plupart
1:13
sont incorrigibles. Si vous leur donnez un fader, vous pouvez être sûr qu’ils vont le pousser à fond, ce qui
1:17
n'est jamais une bonne idée.
1:19
À la place, vous pouvez ajouter un contrôleur personnalisé avec un fader de niveau dont vous
1:23
personnaliserez la plage d’action. Je la limite entre −20 dB et 5 dB, car à mon avis c’est suffisant pour
1:31
leurs besoins. Je vais connecter ce contrôleur à ma commande de gain et l'ajouter à l'UCI. L'utilisateur
1:40
ne verra pas la différence. Il pensera pousser le système à fond, alors qu'il y a encore de la marge.
1:45
Prenons aussi le bouton Mute du canal servant à couper le microphone. Comme j’ai limité la descente
1:51
du fader à −20 dB, il y a toujours du son quand on baisse le fader, donc ce serait bien si ce Mute
1:58
s'enclenchait automatiquement quand on baisse complètement le fader. Pour cela, nous pouvons
2:03
ajouter une fonction de contrôle simple.
2:05
Quelle que soit la plage que j'ai personnalisée pour ce fader, je sais qu'une fois tout en bas, son
2:09
paramètre point-Position est à 0. Je vais donc ajouter une instruction de comparaison avec un autre
2:16
contrôleur ayant déjà une Position 0. Je vais ajouter un bouton Toggle par défaut désactivé, et
2:23
sélectionner une fonction de contrôle « Position Equal ».
2:26
Quand le fader est tout en bas, sa position est 0, comme celle du bouton Toggle, ce qui satisfait aux
2:32
conditions de la fonction de contrôle « Position Equal », qui produit alors la valeur 1 activant mon
2:39
bouton Mute. Maintenant, quand je tire le fader tout en bas, cela active automatiquement le Mute.
2:46
Si je déplace à nouveau le fader, sa position ne correspond plus à celle du bouton Toggle, ce qui produit
2:51
un 0 désactivant le Mute. Je peux toujours activer manuellement le Mute, mais déplacer le fader
2:57
rouvrira automatiquement le micro. Nous avons trouvé une solution simple à un problème simple.
3:05
Les boutons conviennent à un comportement binaire – s'il vous faut un 1 ou un 0, ils sont parfaits. Mais
3:11
si vous voulez qu'un bouton produise deux autres valeurs ? Par exemple, disons que nous voulons un
3:16
simple bouton qui fera alterner le gain d'un lecteur audio entre un volume fort et un volume faible.
3:21
Nous ne voulons pas couper le son et le rétablir, mais faire alterner la valeur du gain entre 5 dB et
3:27
−10 dB. Comment faire ? Il y a en fait beaucoup de façons d'y parvenir, tout dépend du fonctionnement
3:33
de votre cerveau. Voyons quelques méthodes.
3:36
Le moyen le plus simple auquel je pense utilise des Snapshots – un 1 et un 0 peuvent servir à activer un
3:41
bouton de chargement d'un Snapshot où est enregistré une valeur de votre contrôleur de gain. Créons
3:47
une nouvelle banque de Snapshots, et associons-lui notre contrôleur de gain. Réglons le gain à 5 dB et
3:54
enregistrons le Snapshot 1, puis réglons-le à −10 dB et enregistrons le Snapshot 2.
3:59
Ensuite, je vais prendre un Flip-Flop – vous vous souvenez peut-être que ses LED « Out » et « Not Out »
4:04
alternent avec son état. Je vais exposer les broches de commande pour charger les Snapshots 1 et 2 et
4:11
les connecter au Flip-Flop. Maintenant je peux mettre ce bouton State dans une UCI, donnant ainsi à
4:19
l'utilisateur un seul bouton pour charger deux valeurs différentes du contrôleur de Gain.
4:25
Voyons une autre méthode – nous pourrions utiliser un Control Router qui envoie directement une
4:30
nouvelle valeur au contrôleur de gain. Ici, nous avons deux contrôleurs knobs personnalisés pour nos
4:35
entrées, un sur 5 et l'autre sur −10. Le Control Router détermine celui qui doit passer. Nous pouvons
4:42
exposer les broches de commande pour sélectionner l'entrée 1 ou 2, puis alterner entre elles avec notre Flip-Flop.
4:49
Si vous ne souhaitez pas utiliser le Flip-Flop, vous pouvez vous servir d’un autre bouton pour activer la
4:54
première option Routeur ou Snapshot, puis d'une fonction de contrôle pour inverser la position du
4:59
bouton, de sorte que lorsqu'il est désactivé, il envoie un signal d’activation à la deuxième option de
5:05
Routeur ou de Snapshot. L'effet est le même, ce n'est qu'un exemple de la flexibilité de ces composants de contrôle.
5:15
Jetons un coup d'œil à ce composant de contrôle – le Status Combiner. C'est un composant rare qui
5:20
n'accepte que les contrôleurs d'état. Vous en trouvez dans presque tous les éléments de l’inventaire ou
5:25
composants liés au réseau. Vous reconnaissez probablement les contrôleurs d'état de l'UCI par défaut
5:31
« Inventory Status » qui indique l'état de chaque dispositif de votre projet.
5:37
Bien qu'utile, cette UCI prend du temps pour passer en revue les états des nombreux éléments
5:41
d’inventaire d'un projet. Vous pouvez tous les réunir en un seul endroit en connectant leur contrôleur
5:48
d'état au Status Combiner.
5:51
En haut, le Status Combiner affiche le pire des états parmi toutes ses entrées. Si tout fonctionne bien
5:56
dans votre projet, il affiche OK. Mais si je devais par exemple déconnecter un de mes périphériques, cet
6:03
appareil disparaîtrait du réseau et s'afficherait comme défaillant. Comme c'est le pire des états parmi
6:09
tous mes appareils, le Status Combiner signalera cette défaillance.
6:13
Vous pouvez personnaliser le libellé de chaque entrée afin de savoir exactement quel appareil rencontre
6:18
un problème, et si vous souhaitez ignorer un appareil particulier, vous pouvez supprimer son état, ce
6:23
qui retire temporairement l'élément problématique de ce que doit surveiller le Status Combiner.
6:29
Nous avons une autre vidéo disponible dans laquelle une version beaucoup plus jeune de moi-même
6:34
vous montre comment utiliser ce Status Combiner pour vous envoyer un e-mail, à vous-même ou à un
6:38
technicien. Cela ressemble à ceci : quand la LED d'erreur Fault s'allume, nous pouvons activer le bouton
6:44
d’envoi Send d'un composant E-mailer. L'e-mail envoyé peut contenir la chaîne reçue du Status
6:49
Combiner qui décrit l'erreur.
6:52
Cependant, cette configuration pose un problème. Si le site réinitialise le système ou s'il y a une panne
6:58
de courant, pendant une brève période le Core sera actif alors que ses périphériques seront toujours en
7:03
train de s'initialiser. Inutile de recevoir un e-mail vous disant que le système est en panne alors qu'il a
7:08
juste redémarré, alors comment éviter cela ?
7:11
Utilisons certains de nos composants de contrôle pour trouver la parade. Nous savons que si le système
7:15
ne fait que redémarrer, il sera opérationnel dans une trentaine de secondes. Utilisons-les pour valider si
7:23
oui ou non le bouton d’envoi Send doit être activé. Je vais insérer un retard Control Delay entre la LED
7:29
Fault et la commande d'envoi Send, et réglons-le sur 30 secondes.
7:34
Une fois ces 30 secondes écoulées, nous comparerons avec l'état actuel de la LED pour voir si la
7:40
défaillance persiste. Je vais prendre une fonction de contrôle et la régler sur « Logic AND ». Elle exige
7:47
que ses deux entrées soient vraies. En cas de défaillance retardée de 30 secondes, la première broche
7:54
est vraie, et si elle persiste, la deuxième broche est vraie, donc la fonction active le bouton d'envoi de l'e-mailer.
8:01
Si 30 secondes se sont écoulées et que le système a redémarré, alors la LED Fault d'origine aura un état
8:06
faux, ce qui ne satisfait pas les conditions de la fonction, et l'e-mail ne sera pas envoyé. Encore une fois,
8:12
une solution simple pour un problème simple.
8:18
Enfin, une question fréquente est de savoir si on peut protéger par mot de passe une page particulière
8:23
d'une UCI. Vous pouvez restreindre l'accès d’un utilisateur à l'ensemble d'une UCI en lui imposant de se
8:29
connecter avec un code d’identification, mais il n'y a pas de méthode native pour exiger un code d'accès
8:33
à une page spécifique. Cependant, avec tous les outils déjà vus dans les composants de contrôle, vous
8:38
pouvez concevoir la vôtre. Il y a plusieurs façons de faire, et ce serait assez facile avec quelques notions
8:44
d’écriture de script, mais sinon, il suffit d’utiliser des broches de commande.
8:49
L'un de mes modes de réflexion avec ces composants consiste à écrire la fonction désirée, puis à
8:55
remplacer chaque partie par un des outils à ma disposition. Voici l’objectif : si l'utilisateur saisit le mot
9:01
de passe correct et presse Enter, la page d’UCI doit changer. Eh bien, je vois déjà que je vais avoir besoin
9:09
d'une porte logique « ET » pour valider que « Le mot de passe est correct » et qu'« il presse Enter ».
9:15
J'ai donc une instruction Logic AND et un bouton momentané pour « Enter ». Mais comment obtenir un
9:21
mot de passe de l'utilisateur et vérifier qu'il est correct ? Plusieurs options me viennent à l'esprit, mais
9:26
voici ma préférée. Pour obtenir le mot de passe de l'utilisateur, j'ai besoin d'un clavier numérique. Et ne
9:31
le dites à personne, mais je vais voler celui d'un composant Softphone.
9:34
Si ce projet n'utilise pas déjà le nombre maximal de Softphones autorisé, en créer un juste pour utiliser
9:39
son clavier n’est pas gênant. J'ajoute tous les boutons de son clavier à ma page d’UCI. C'est l'astuce que
9:45
j'aime utiliser pour valider un mot de passe – je vais créer une nouvelle banque de snapshots, et lui
9:50
associer la chaîne de numérotation, c'est-à-dire le numéro de téléphone ou Dial String.
9:55
Ensuite, je saisis le mot de passe correct et l'enregistre en tant que Snapshot 1. Il y a sur chaque
10:00
Snapshot une broche de commande disponible que vous ne connaissez peut-être pas – je vais exposer
10:05
celle-ci, qui s'appelle « Match 1 ». La commande « Match » est une LED qui s'allume quand l'état du
10:11
projet correspond à la configuration enregistrée dans le Snapshot.
10:16
Si quelqu'un tape le nombre que j'ai sauvegardé dans le Snapshot 1, Snapshot Match s'allume, indiquant
10:22
une correspondance. Je vais l'utiliser pour la première moitié de ma porte Logic AND. Maintenant,
10:30
quand quelqu'un saisit le bon numéro ET presse le bouton Enter, cela donne 1 !
10:35
Encore une fois, il y a plusieurs façons d'utiliser ce 1 pour changer la page d’UCI, mais je vais activer un
10:41
autre Snapshot car je pense que c'est le plus simple. Je vais créer une autre banque de snapshots et
10:46
l'associer à la commande de « Page actuelle » de l'écran tactile que je veux affecter. Je vais sélectionner
10:51
la page secrète, puis enregistrer le Snapshot, puis je câblerai ma porte Logic AND pour activer ce Snapshot.
10:59
Voilà ! J'ai un clavier, je tape le code et la page change. Je pourrais donner à l'utilisateur un bouton de
11:06
navigation simple pour revenir à l'écran principal. Il y a probablement d'autres modifications à apporter
11:11
à ce modèle. Par exemple, en cas de code incorrect – c’est-à-dire si la LED Match ne s'active PAS
11:17
lorsqu'on presse le bouton Enter – je veux que cela active le bouton « Clear » du pavé numérique pour
11:23
Je pourrais aussi concevoir un compteur qui s’incrémente à chaque nouvelle erreur de saisie. Après trois
11:30
essais ratés, je pourrais aussi déclencher une alarme, envoyer un signal GPIO aux lumières de la pièce,
11:41
faire pointer les caméras Q-SYS vers la position de l’utilisateur et ordonner aux mélangeurs vidéo en
11:47
réseau de transmettre le signal de la caméra à chaque écran du site, tout en appelant la police et en
11:52
m'envoyant un e-mail… etc.
11:55
Le fait est que vous pouvez prendre beaucoup de plaisir avec les fonctions de contrôle. Je vous
11:59
recommande vraiment d'y consacrer un peu de temps, et j'espère que ces vidéos vous ont inspiré
12:03
quelques idées personnelles. Nous avons un exercice que vous pouvez effectuer dans le Cahier
12:07
d'exercices Q-SYS Contrôle, mais n'hésitez pas à vous poser vous-même un problème à résoudre et à
12:13
trouver une solution. Si vous n'y arrivez pas, il est peut-être temps de regarder l’écriture de script ou le
12:19
Block controller. Amusez-vous bien et à la prochaine fois.