Trente actions, quinze feedbacks : plongée dans le module Companion
Quand votre surface de contrôle doit parler à tout ce qui se trouve dans le rack, Bitfocus Companion et Timers Studio parlent la même langue.
· Hardware · 10 min read
Il existe deux philosophies de contrôle de spectacle, et la plupart des équipes de production finissent par adopter les deux. La première philosophie dit que la surface de contrôle doit être aussi proche de l'application que possible : connexion directe, latence zéro perçue, zéro middleware, comme un panneau de commande câblé directement au bus de la régie. La seconde philosophie dit que la surface de contrôle doit être un traducteur universel qui parle à chaque système de la production : une surface, plusieurs applications, une pression de bouton qui déclenche des actions synchronisées à travers l'ensemble du stack, comme une matrice de routage qui distribue un ordre unique vers toutes les destinations.
Bitfocus Companion est l'incarnation de la seconde philosophie. C'est une application desktop open-source qui transforme pratiquement n'importe quelle grille de boutons, panneau d'encodeurs ou surface tactile en interface de contrôle programmable pour des centaines de systèmes logiciels et hardware. Stream Deck, Loupedeck, Razer Stream Controller, Logitech MX Creative Console, X-keys et des dizaines d'autres appareils fonctionnent tous à travers l'interface unifiée de Companion. Quand Timers Studio a développé son module Companion, l'objectif était d'exposer chaque paramètre contrôlable de la plateforme à cet écosystème de contrôle universel [Explorer le module Companion].
Le module fournit plus de trente actions. L'ensemble complet de transport est présent : play, pause, stop, reset, next, previous, rewind et ajustements temporels de plus et moins une minute. Au delà du transport basique, le module expose des actions pour envoyer des messages des cinq types (Standard, Alert, Flash, Takeover et Fullscreen), basculer le mode blackout avec les quatre variantes (Black, Clock, Color et Image) et contrôler le décalage Time Warp. Il y a des actions pour basculer entre les modes d'affichage du timer, cycler à travers les thèmes et basculer des paramètres de design individuels. Les actions administratives incluent l'export de session, l'identification d'appareil et le rechargement de player.
Quinze canaux de feedback fournissent des informations visuelles d'état en temps réel sur la surface de contrôle, exactement comme les voyants tally d'une régie broadcast renseignent l'opérateur sur l'état de chaque source. Le feedback d'état du timer change la couleur du bouton selon que le timer est en cours (vert), en pause (jaune), arrêté (gris) ou en dépassement (rouge). Le feedback d'état de message indique si un message est actuellement affiché. Le feedback d'état de blackout reflète le mode blackout actuel. Le feedback d'état de connexion confirme que le module a une connexion active à l'API Timers Studio. Ces feedbacks ne sont pas pollés, ils arrivent via Server-Sent Events, ce qui signifie que l'état du bouton se met à jour aussi vite que le flux SSE délivre l'événement, typiquement dans les 100 à 200 millisecondes suivant le changement d'état.
Vingt cinq variables sont disponibles pour l'affichage dynamique sur les labels de boutons et pour l'utilisation dans le système de déclencheurs et conditions de Companion. Les variables incluent le nom du timer actuel, le temps restant, le temps écoulé, la durée totale, l'état du timer, le nom du thème actif, le titre du studio, le nom du speaker et l'état de connexion. Un bouton Companion peut afficher un label comme « KEYNOTE 04:32 » qui se met à jour en temps réel pendant que le timer décompte. Cela élimine le besoin de regarder un moniteur séparé pour savoir quel timer est actif et combien de temps il reste, un gain d'attention précieux quand on pilote un conducteur chargé.
L'architecture de communication entre Companion et Timers Studio utilise deux canaux, un schéma qui reflète la séparation entre bus de commande et bus de retour dans une régie broadcast. Les actions sortantes transitent par l'API REST, authentifiées avec un Bearer token que l'utilisateur génère dans le panneau API et Intégrations du tableau de bord Timers Studio. Chaque clé API a des scopes configurables : READ pour le monitoring, TRANSPORT pour le contrôle du timer, MUTATION pour la modification des données et ADMIN pour un accès complet.
Les mises à jour d'état entrantes transitent par les Server-Sent Events. Quand le module se connecte, il ouvre un flux SSE qui reçoit chaque changement d'état au moment où il se produit. Timer démarré, timer mis en pause, message envoyé, thème changé, blackout basculé : chaque événement arrive sous forme de payload JSON structuré que le module analyse et route vers les handlers de feedback et de variables appropriés. Cette architecture signifie que le module n'a pas besoin de poller l'API. Il écoute, et le serveur lui dit ce qui a changé, comme un bus de retour dans une infrastructure de diffusion.
La question pratique que les équipes de production posent est de savoir quand utiliser Companion plutôt que l'intégration WebHID native. La réponse est architecturale. Si le Stream Deck n'a besoin de contrôler que Timers Studio, le WebHID natif offre une latence plus rapide, une installation plus simple et moins de dépendances. Si le Stream Deck doit contrôler Timers Studio aux côtés de vMix, OBS, ProPresenter, une console d'éclairage ou n'importe quel autre système du stack de production, Companion est le bon choix parce qu'il peut mapper une seule pression de bouton vers des actions synchronisées sur tous ces systèmes.
Une configuration courante dans les environnements broadcast place Companion sur un mini-PC ou laptop dédié qui fait office de hub de contrôle, l'équivalent logiciel d'une matrice de commande dans un rack de régie. Le Stream Deck se connecte à cette machine via USB. Companion communique avec Timers Studio via l'API REST, avec vMix via son API TCP, avec OBS via son API WebSocket et avec la console d'éclairage via Art-Net ou sACN. L'opérateur appuie sur un bouton et le timer démarre, la caméra bascule sur l'entrée principale, le bandeau titre apparaît et les lumières de scène passent au preset de présentation. Ce type de contrôle synchronisé et cross-système est exactement ce pour quoi Companion a été conçu. La console de modération transforme n'importe quelle tablette en pupitre professionnel, et Companion permet de l'intégrer dans un écosystème de contrôle plus large [Découvrir la console].
L'installation du module est directe. Dans l'interface Companion, recherchez « Timers Studio » dans la bibliothèque de modules, installez le et entrez votre URL de studio et votre clé API. Companion se connectera, vérifiera les scopes de la clé et peuplera les actions, feedbacks et variables disponibles. À partir de là, vous glissez les actions sur les boutons, assignez les feedbacks pour l'état visuel et configurez les variables pour les labels dynamiques. Une page de boutons complète pour Timers Studio peut être configurée en moins de dix minutes.
Pour les équipes de production qui opèrent à grande échelle, gérant plusieurs spectacles par semaine dans différents lieux et pour différents clients, Companion fournit une couche de cohérence. Vous pouvez sauvegarder votre configuration Companion dans un fichier et la charger dans chaque lieu. La disposition des boutons reste la même. Les mappings d'actions restent les mêmes. Seuls la clé API et l'URL du studio changent entre les spectacles. Cette prévisibilité a une valeur opérationnelle dans les environnements où le temps d'installation est limité et où l'équipe de production a besoin d'être confiante que sa mémoire musculaire fonctionnera correctement [Générer une clé API].