К содержанию
fohbook/ Resolume

OSC: управление по сети

Адреса существуют сразу, назначать ничего не надо. Разобраться придётся с относительными путями и с тем, что 0,5 не всегда половина.

Адрес вместо назначения, абсолютные и относительные пути, типы значений и отдача состояния наружу.

Тот же текст, другими словами:

Как объяснил бы коллега за пультом: коротко и по делу.

Версия вашего пульта:1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии1 место в статье новее вашей версии
Быстрый выбор:

OSC — сообщения по сети, и любой параметр имеет адрес, по которому его читают и меняют. Ничего назначать не нужно: адреса существуют изначально.

/composition/layers/1/clips/3/connect
/composition/layers/2/video/opacity 0.25
/composition/master
/composition/tempocontroller/tempo

Общего списка адресов не существует и не может: он зависит от того, сколько у вас слоёв и какие стоят эффекты. Точный адрес показывает сама программа — Shift + Ctrl + O, щелчок по нужной ручке, адрес в панели копируется.

Два адреса у одного элемента

/composition/layers/1/video/effects/goo/speed      абсолютный
/composition/selectedlayer/video/effects/goo/speed относительный

Первый управляет эффектом на первом слое и только на нём. Второй — тем же эффектом на слое, который выбран сейчас, так что один адрес обслуживает все слои. Нет на выбранном слое такого эффекта — сообщение просто ничего не сделает.

Значения

Тип Как читать
Float 0.0–1.0 Дробное от нуля до единицы, отображается в реальный диапазон параметра
Int Целое: например, режим смешивания слоя это число от 0 до 50
Color 32-битный RGBA одним значением

Отображение нелинейно к смыслу: у масштаба композиции тип Float 0.0–1.0 при реальном диапазоне 0–1000 %, то есть 0,1 даёт 100 %, а 0,5 — 500 %. У поворота 0,5 означает ноль градусов, потому что диапазон идёт от −180 до +180. Целочисленному адресу можно послать и дробное: оно линейно растянется на диапазон параметра.

Связь

Порт по умолчанию 7000, меняется в Preferences → OSC, там же виден адрес машины. Программа объявляет себя по ZeroConf, он же Bonjour, и приложения с его поддержкой находят её сами; остальным адрес и порт вписывают руками.

Начните с одного адреса

Самая частая ошибка — собрать большую панель и обнаружить, что не работает вообще ничего. Проверьте связь одним сообщением: мастер или прозрачность первого слоя.

В настройках разворачивается монитор с последними двумя сотнями сообщений. Это первое место, куда смотрят, когда «не работает».

Появилось в 7.18 · в вашей версии этого нет

Монитор показывает исходящие сообщения наравне с входящими.

Отдача наружу

Выход включается там же, а поток настраивается пресетами сочетаний: Shift + Ctrl + O → панель сочетаний → выбор пресета. Пресет «Output All OSC Messages» шлёт вообще всё — запуск клипов, движения мыши, вход MIDI, автоматизацию, позицию плейхеда, по всем адресам сразу. Понять состояние программы снаружи так удобно, а канал забивается мгновенно, поэтому под задачу собирают свой пресет.

Источник Типичная задача
Планшет с TouchOSC Своя панель управления в руках
Companion или стримдек Кнопки под конкретные действия
Световой пульт Свет и видео из одной точки
TouchDesigner, Max, Processing Связка софта в одну систему
Свой скрипт Автоматизация и интеграции

OSC живёт по UDP, и сообщения теряются. Wi-Fi годится, пока их немного, но сила сигнала падает, когда в зале пять тысяч человек с телефонами. В ответственных местах на однократную отправку не полагаются — Проблемы управления.

OSC — сообщения по сети. Любой параметр имеет адрес, по которому его читают и меняют. В отличие от MIDI и клавиатуры, ничего назначать не нужно: адреса существуют изначально.

Как выглядит адрес

Он повторяет структуру композиции:

/composition/layers/1/clips/3/connect
/composition/layers/2/video/opacity 0.25
/composition/master
/composition/tempocontroller/tempo

Общего списка адресов не существует и существовать не может: он зависит от того, сколько у вас слоёв и какие эффекты стоят. Точный адрес любого элемента показывает сама программа — Shift + Ctrl + O, затем щелчок по нужной ручке. Адрес в панели можно скопировать.

Абсолютный и относительный

У одного и того же элемента бывает два адреса.

/composition/layers/1/video/effects/goo/speed      абсолютный
/composition/selectedlayer/video/effects/goo/speed относительный

Первый управляет эффектом на первом слое и только на нём. Второй — эффектом на том слое, который выбран сейчас: один адрес обслуживает все слои, где стоит этот эффект. Если на выбранном слое такого эффекта нет, сообщение просто ничего не сделает.

Типы значений

У каждого элемента есть тип и диапазон, видимые там же, в панели сочетаний.

Тип Как читать
Float 0.0–1.0 Дробное от нуля до единицы, отображается в реальный диапазон параметра
Int Целое: например, режим смешивания слоя это число от 0 до 50
Color 32-битный RGBA одним значением

Диапазон отображается нелинейно к смыслу: у масштаба композиции тип Float 0.0–1.0 при реальном диапазоне 0–1000 %, то есть 0,1 даёт 100 %, а 0,5 — 500 %. У поворота 0,5 означает ноль градусов, потому что реальный диапазон от −180 до +180.

Целочисленному адресу можно послать и дробное значение: оно линейно растянется на диапазон параметра.

Настройка связи

Порт по умолчанию — 7000, меняется в Preferences → OSC. Там же виден адрес машины.

Программа объявляет себя в сети по ZeroConf, он же Bonjour: приложения с его поддержкой находят Resolume сами. Остальным адрес и порт вписывают руками.

Порядок подключения

  1. Включить приём OSC и задать порт.
  2. Убедиться, что устройства в одной сети.
  3. Отправить одно сообщение и проверить, что параметр изменился.
  4. Только потом строить панель.
Начните с одного адреса

Самая частая ошибка — собрать большую панель и обнаружить, что не работает вообще ничего. Проверьте связь одним сообщением: мастер или прозрачность первого слоя.

Монитор

В настройках OSC разворачивается окно с последними двумя сотнями входящих и исходящих сообщений. Это первое место, куда смотрят, когда «не работает».

Появилось в 7.18 · в вашей версии этого нет

Монитор показывает исходящие сообщения наравне с входящими.

Отдача наружу

Выход OSC включается там же. Управляют потоком через пресеты сочетаний: Shift + Ctrl + O → панель сочетаний → выбор пресета.

Пресет «Output All OSC Messages» шлёт вообще всё: запуск клипов, движения мыши, вход MIDI, автоматизацию параметров, позицию плейхеда — по всем адресам, абсолютным и относительным. Полезно, чтобы понять состояние программы снаружи, и быстро забивает канал.

Поэтому под конкретную задачу собирают свой пресет и шлют только нужное.

Кто управляет

Источник Типичная задача
Планшет с TouchOSC Своя панель управления в руках
Companion или стримдек Кнопки под конкретные действия
Световой пульт Свет и видео из одной точки
TouchDesigner, Max, Processing Связка софта в одну систему
Свой скрипт Автоматизация и интеграции

Сеть

OSC живёт по UDP: сообщения теряются. Wi-Fi годится, пока их немного, но сила сигнала падает, когда в зале пять тысяч человек с телефонами. В ответственных местах не полагайтесь на однократную отправку — Проблемы управления.

рядом по смыслу