OSC и обратная связь
DMX — поток чисел в одну сторону. OSC для событий, строк и состояния: плоская схема адресов, подтверждение и телеметрия, Companion со Stream Deck и почему слать надо состояние, а не событие.
DMX — односторонний поток чисел, и когда нужно передать строку, событие или узнать состояние, берут OSC.
| Задача | Направление |
|---|---|
| Триггер сцены из шоу-контроля | В TouchDesigner |
| Текст на экран, имя артиста | В TouchDesigner |
| Состояние проекта на пульт оператора | Из TouchDesigner |
| «Я жив» и телеметрия | Из TouchDesigner |
| Планшет | В обе стороны |
| Stream Deck через Companion | В обе стороны |
Операторы и принципы — OSC в видеогайде.
/light/scene i номер сцены
/light/master f 0..1
/light/blackout - импульс
/light/preset/save i
/status/fps f отдаём наружу
/status/dmx i 1 — DMX приходит
/status/alive i счётчик, растёт каждую секунду
Адреса держат плоскими и осмысленными. Односторонний OSC ненадёжен —
непонятно, дошло ли, а у света ошибку видит весь зал. Поэтому
TouchDesigner подтверждает выполнение (/ack/scene 3), раз в секунду
шлёт состояние — сцену, мастер, DMX, кадры, — и пульт оператора
показывает полученное состояние, а не то, что сам отправил. Кнопка,
которая «нажалась» и ничего не сделала, — источник паники на площадке.
Bitfocus Companion делает из Stream Deck пульт шоу и работает по OSC: кнопки сцен с подсветкой активной по обратной связи, блэкаут большой красной кнопкой, «перезапустить пиксель» на случай зависшего контроллера, состояние TouchDesigner прямо на кнопке. Для инсталляции и маленького шоу лучшего пульта нет: физические кнопки, никакого экрана, понятно постороннему.
Импульс «следующая сцена» может пропасть. Шлют состояние: не «next», а «сейчас сцена 4». Повтор того же значения безвреден, потерянный пакет исправит следующий.
OSC понимают grandMA3, ETC Eos и другие консоли — у grandMA2 его нет, с ней через DMX, MIDI или Telnet; QLab и шоу-контроль; звуковые пульты вроде X32; Resolume и медиасерверы; ваши скрипты и вторая машина.
Если OSC не прижился, состояние отдают несколькими каналами DMX: «жив», «кадры», «текущая сцена», и художник видит их у себя в патче. Некрасиво, зато через ту же сеть, что уже проверена.
Нашли в статье ошибку, устаревшее или непонятное место?