Skip to content

Настройка ПО управления эффектами Jinx! как источника синхронизации устройств в группе

vvip-68 edited this page Apr 11, 2023 · 1 revision

Пошаговая инструкция настройки ПО управления эффектами «Jinx!» как источника синхронизации устройств в группе

Шаг 1

Перейдите на сайт разработчиков «Jinx!» и скачайте приложение. Распакуйте архив с программой в отдельную папку. Запустите приложение

Главное окно Jinx 2.4

Шаг 2

Программа «Jinx!» поставляется с демо-скриптом, содержащем большое количество настроенных сцен, эффектов и переходов. Для подключения скрипта примера в меню "File" выберите пункт "Import"

Import Demo Script

В окне выбора файла выберите "demo.jnx" и нажмите кнопку "Открыть"

Import Demo Script

После того, как скрипт подключен к программе, выбор пункта меню "View Scenelist" (или нажатие кнопки F2)

Menu Scenelist

откроет окно выбора доступных сцен.

Scenelist

Каждая сцена содержит комбинацию эффектов, результат отображается в реальном режиме времени в панелях предпросмотра в верхней части главного окна Jinx.
Изучите как работают и комбинируются эффекты. Изменяйте настройки каналов и смотрите как они влияют на результат.

В интернете вы можете найти большое количество инструкций по созданию эффектов с помощью Jinx,
доступны видеоуроки в Youtube.

Шаг 3

Откройте окно настроек матрицы

Меню Setup / Matrix options

и задайте размер рабочего поля в пикселях

Настройки матрицы

Размер должен соответствовать вашей матрице, которую вы используете в своем проекте

Шаг 4

Настройте выходное устройство для передачи анимации эффекта устройствам-потребителям.
В нашем случае программа должна выполнять передачу изображения в сеть по протоколу E1.31

Откройте окно настроек выходных устройств

Меню Setup / Output devices

Рассчитайте количество потоков (вселенных), требуемых для передачи изображения на вашу матрицу.
В данном примере используется матрица размером 16x16 - общее количество светодиодов - 256.
Одна вселенная вмещает данные RGB-цветов для 170 светодиодов (170 * 3 = 510 каналов).
Остается 256 - 170 = 86 светодиодов (86 * 3 = 258 каналов), которые могут быть целиком размещены во второй вселенной.
Таким образом, для матрицы 16x16 достаточно двух вселенных, содержащих 510 и 258 каналов соответственно.

Таблица распределения вселенных по группам синхронизации для этого проекта:

Группа Номера вселенных IP адреса
Группа 0 1-7 239.255.0.1 - 239.255.0.7
Группа 1 8-14 239.255.0.8 - 239.255.0.14
Группа 2 15-21 239.255.0.15 - 239.255.0.21
Группа 3 22-28 239.255.0.22 - 239.255.0.28
Группа 4 29-35 239.255.0.29 - 239.255.0.35
Группа 5 36-42 239.255.0.36 - 239.255.0.42
Группа 6 43-49 239.255.0.43 - 239.255.0.49
Группа 7 50-56 239.255.0.50 - 239.255.0.56
Группа 8 57-63 239.255.0.57 - 239.255.0.63
Группа 9 64-70 239.255.0.64 - 239.255.0.70

Пусть в нашем случае устройства-приемники объединены в группу "Группа 0", имеет номера вселенных 1-7 и соответственно адреса многоадресной рассылки UDP пакетов - 239.255.0.1 -239.255.0.7

Output devices

Нажмите кнопку Add ("Добавить") для добавления нового устройства (новой вселенной)

Add/Edit device

  • В комбо-боксе "Device Type" выберите значение "sACN / E1.31"
  • В поле "Universe" укажите номер вселенной - 1. Обратите внимание, что при переходе к следующему полю значение IP Address изменится на 239.255.0.1
  • В поле "Channels" укажите количество каналов для вселенной 1 - 510 (это первые 170 светодиодов матрицы)
  • Нажмите кнопку "ОК" для добавления созданной вселенной в список устройств

Снова нажмите кнопку Add ("Добавить") для добавления описателя второй вселенной

Add/Edit device

  • В комбо-боксе "Device Type" выберите значение "sACN / E1.31"
  • В поле "Universe" укажите номер вселенной - 2. Обратите внимание, что при переходе к следующему полю значение IP Address изменится на 239.255.0.2
  • В поле "Channels" укажите количество каналов для вселенной 2 - 258 (это оставшиеся 86 светодиодов матрицы)
  • Нажмите кнопку "ОК" для добавления созданной вселенной в список устройств

Для примера с матрицей 16x16 созданы все необходимые вселенные.

Device list

Если ваша матрица другого размера - выполните расчет и создание вселенных для вашего случая.

Шаг 5

На следующем шаге требуется указать программе в какой последовательности располагаются светодиоды на вашей матрице, иными словами - в каком порядке программа должна передавать изображение на устройства-приемники.

Выберите в меню пункт настройки варианта подключения светодиодов матрицы

Output patch

В открывшемся окне представлена схема матрицы, на которую должны выводиться эффекты.
Красными представлены пиксели для которых еще не назначено соответствие светодиодам матрицы

Output patch

Здесь возможны два варианта в зависимости от выбранного типа синхронизации - "Логический" и "Физический"

Логический тип синхронизации

В логическом типе синхронизации светодиоды располагаются начиная с левого верхнего угла X,Y=(1,1) и далее вправо по колонкам (X), затем вниз по строкам (Y). Каждая строка (и четная и нечетная) начинаются слева, увеличение координаты - вправо. Заполнение вселенных ведется последовательно - сначала созданная Вселенная 1, затем Вселенная 2 и так далее.

Разметка Вселенной 1

Установите маркер начала распределения светодиодов - ярко красный квадрат в левый верхний угол матрицы и нажмите кнопку "Fast Patch"

Output patch - Select Device

Для размещения первых 170 светодиодов при ширине матрицы 16 колонок достаточно 11 строк. Последняя строка будет не полной - останется место для 6 светодиодов. В поле "Dimension" укажите размер заполняемой области - X:16, Y:11

В комбобоксе "Patch Mode" выберите направление светодиодов из угла подключения матрицы. Как указано выше - в случае логического порядка светодиоды следуют построчно с началом - в левом верхнем углу матрицы.
Выберите значение "Linewise starting Top-Left"

Доступны следующие варианты:
Fast Patch

- Linewise starting Top-Left         - Левый верхний угол, параллельно по строкам слева направо
- Linewise starting Top-Right        - Правый верхний угол, параллельно по строкам справа налево
- Linewise starting Bottom-Left      - Левый нижний угол, параллельно по строкам слева направо
- Linewise starting Bottom-Right     - Правый верхний угол, параллельно по строкам справа налево
- Snakelines starting Top-Left       - Левый верхний угол, зигзаг направление вправо
- Snakelines starting Top-Right      - Правый верхний угол, зигзаг направление влево
- Snakelines starting Bottom-Left    - Левый нижний угол, зигзаг направление вправо
- Snakelines starting Bottom-Right   - Правый нижний угол, зигзаг направление влево
- Columnwise starting Top-Left       - Левый верхний угол, параллельно по колонкам сверху вниз
- Columnwise starting Top-Right      - Правый верхний угол, параллельно по колонкам сверху вниз
- Columnwise starting Bottom-Left    - Левый нижний угол, параллельно по колонкам снизу вверх
- Columnwise starting Bottom-Right   - Правый нижний угол, параллельно по колонкам снизу вверх
- Snakecolumns starting Top-Left     - Левый верхний угол, зигзаг, направление вниз
- Snakecolumns starting Top-Right    - Правый верхний угол, зигзаг, направление вниз
- Snakecolumns starting Bottom-Left  - Левый нижний угол, зигзаг, направление вверх
- Snakecolumns starting Bottom-Right - Правый нижний угол, зигзаг, направление вверх

Значение в комбобоксе "Pixel Order" - всегда "RGB" - порядок следования цветов в пикселе обрабатывается программно в скетче прошивки при задании типа ленты в блоке инициализации библиотеки FastLED.

Поле "First Channel" содержит номер канала, начиная с которого будут размещены данные цветов в формируемом пакете. Поскольку размещение данных для вселенной только начинается - данные следуют с канала 0.

В комбобоксе "Patch device" выберите устройство, соответствующее первой вселенной - sACN/E1.31 239.255.0.1

Нажмите кнопку "ОК" для запуска разметки данных для Вселенной 1.

Теперь первые 170 клеток матрицы имеют зеленый цвет, что означает, что каждой зеленой ячейке виртуальной / программной матрицы назначено место в массиве данных передаваемых на устройство-приемник.

Output patch

Обратите внимание, что последняя строка заполнена не полностью - для нее не хватило места в пакете E1.31, первой вселенной, который вмещает в себя 510 доступных каналов из 512 (или данные для 170 светодиодов). В области, выделенной зеленым справа видно, что выбранная вселенная - sACN/E1.31 239.255.0.1[1] и каналы для цвета RGB назначены R-507, G-508, B-509.

Разметка Вселенной 2

Инструмент "Fast Patch" использует для разметки прямоугольные области, внутри которых задает последовательность диодов согласно выбранным настройкам. После завершения распределения диодов для первой вселенной выполним разметку для второй вселенной.

В строке 11 осталось неразмеченной 6 клеток. Установите маркер начала разметки - красный прямоугольник на первую клетку неразмеченной области и снова нажмите кнопку "Fast Parch".

Start output

Прямоугольная область разметки остатка строки - 6 клеток в одной строке - укажите размер заполняемой области в поле "Dimension" - X:6, Y:1. В комбобоксе "Patch Mode" направление светодиодов из угла подключения матрицы остается неизменным - "Linewise starting Top-Left". Нумерация каналов для второй вселенной начинается с 0 - укажите это значение в поле "First Channel". В поле "Patch Device" выберите вторую вселенную - sACN/E1.311 239.255.0.2[2]. Нажмите кнопку "ОК".

Start output

Разметка остатка строки выполнена. Последняя размеченная клетка определяет каналы R-15, G-16, B-17

Переместите маркер начала размечаемой области в начало строки 12. Нажмите кнопку "Fast Patch".

Start output

Размеры размечаемой области - 16 колонок, 5 строк (X=16, Y=5). Направление следование цепочки остается неизменным - Linewise starting Top-Left. Последний занятый канал Вселенной 2, заданный на предыдущем шаге - 17 (компонента цвета B). Значит, нумерация каналов для следующего диода должна начинаться с 18. Это значение вводится в поле "First Channel". Убедитесь, что в комбобоксе "Patch Device" по-прежнему выбрана вторая вселенная sACN/E1.311 239.255.0.2[2] и нажмите кнопку "ОК".

Start output

Разметка матрицы для передачи изображения эффектов устройствам-приемникам по протоколу E1.31 для выбранного режима синхронизации "Логический" на этом завершена.

Физический тип синхронизации

Физический тип синхронизации подразумевает, что определение матрицы для вывода эффектов в программе "Jinx!" должно полностью соответствовать последовательности размещения светодиодов на физической матрице.

Для примера рассмотрим матрицу размером 16x16, топ соединения диодов - зигзаг, угол подключения - левый нижний, направление следования цепочки диодов из угла - вправо. Заполнение вселенных ведется последовательно - сначала созданная Вселенная 1, затем Вселенная 2 и так далее.

Разметка Вселенной 1

Первая вселенная содержит в себе цвета первых 170 светодиодов или 170 * 3 = 510 каналов. Эти светодиоды занимают на матрице нижние 11 строк, причем последняя распределяемая строка будет содержать только 10 светодиодов, остальные 6 клеток останутся незаполненными.

Установите маркер начала распределения светодиодов - ярко красный квадрат в первую ячейку (крайнюю левую) строки под номером 6. Таким образом, определяется размечаемая область (X,Y) - левый верхний угол (1,6), правый нижний угол (16,16). Нажмите кнопку "Fast Patch".

Output patch - Select Device

Задайте параметры распределения ячеек матрицы:
Для размещения первых 170 светодиодов при ширине матрицы 16 колонок достаточно 11 строк. Последняя строка будет не полной - останется место для 6 светодиодов. В поле "Dimension" укажите размер заполняемой области - X:16, Y:11

В комбобоксе "Patch Mode" выберите направление светодиодов из угла подключения матрицы. В нашем случае светодиоды расположены "змейкой", начиная с левого нижнего угла выделенной области, направление следования из угла - вправо. Выберите в комбобоксе ""Patch Mode" значение "Snakelines starting Bottom-Left"

Значение в комбобоксе "Pixel Order" - всегда "RGB" - порядок следования цветов в пикселе обрабатывается программно в скетче прошивки призадании типа ленты в блоке инициализации библиотеки FastLED.

Поле "First Channel" содержит номер канала, начиная с которого будут размещены данные цветов в формируемом пакете. Поскольку размещение данных для вселенной только начинается - данные следуют с канала 0.

В комбобоксе "Patch device" выберите устройство, соответствующее первой вселенной - sACN/E1.31 239.255.0.1

Нажмите кнопку "ОК" для запуска разметки данных для Вселенной 1.

Output patch - Select Device

Теперь первые 170 клеток матрицы имеют зеленый цвет, что означает, что каждой зеленой ячейке виртуальной / программной матрицы назначено место в массиве данных передаваемых на устройство-приемник.

Однако, разметка выглядит несколько не так, как ожидалось... К сожалению, утилита "Fast Patch" имеет ошибку и распределяет ячейки не совсем в соответствии с заданным алгоритмом. Придется исправлять ошибки вручную...

Обратите внимание, что ячейка (1,16) определяющая начальную точку (первый светодиод матрицы) подсвеченная ярко-зеленым маркером в правой части окна в информационной панели содержит номера каналов R,G,B - 0,1,2. Следующая зеленая ячейка (2,16) - каналы 3,4,5 и так далее. И это правильно. Однако первая красная ячейка (и следующие за ней красные ячейки в строке) содержат правильное распределение каналов (30,31,32), (33,34,35)..., но комбобокс "Patch Device"* содержит значение None. Это ошибка.

Output patch - Select Device

Для исправления ошибки вручную выберите в комбобоксе "Patch Device" Вселенную 1 - sACN/E1.31 239.255.0.1 для каждой красной ячейки строки.

Напротив, в строке 6 последние 6 ячеек имеют зеленый цвет, но каналы для них не назначены - R,G,B содержат значения 0,0,0 выберите для 6 последних ячеек строки 6 в комбобоксе "Patch Device" Вселенную 2 - sACN/E1.31 239.255.0.2 и номера каналов последовательно (0,1,2),(3,4,5),(6,7,8),(9,10,11),(12,13,14),(15,16,17).

Output patch - Select Device

Итак, разметка Вселенной 1 и первых шести диодов Вселенной 2 - выполнена

Разметка Вселенной 2

Следующая размечаемая область - от X,Y ячейки (1,1) (левый верхний угол области) до (16,5) (правый нижний угол области. Поскольку тип соединения нашей матрицы - "зигзаг" (или "змейка") с началом в левом нижнем углу, строки 16,14,12,10,8,6 имеют нумерацию ячеек и распределение каналов по возрастанию слева направо, а строки 13,11,9,7 - нумерацию ячеек и распределение каналов по возрастанию - справа налево.

Строка 5 в оставшейся у распределению красной области также имеет распределение номеров ячеек СПРАВА НАЛЕВО (!!!).

Нажмите кнопку "Fast Patch" для выполнения распределения оставшейся части ячеек матрицы.

Output patch - Select Device

Размер области распределения Dimension X=16, Y=5, направление следования цепочки светодиодов в выделенной области - из правого нижнего угла влево, по строкам змейкой вверх. В поле "Patch Mode" выбираем значение "Snakelines starting Bottom-Right"*. Номер последнего распределенного канала во Вселенной 2 в ячейке с координатами (16,6) - B-17, значит первым распределяемым каналом в оставшейся области будет канал 18, что и указываем в поле "First Channel". Нажмите кнопку "ОК" для завершения операции распределения.

Output patch - Select Device

Назначение светодиодов для передачи картинки эффекта на устройства-приемники завершено!

Сборная матрица

Ниже приведен рисунок назначения светодиодов матрицы "Jinx!" на сборную матрицу, состоящую из четырех матриц размером 8x8 пикселей.

Output patch - Select Device

Расположение матриц в сборке представлено на рисунке. Первый светодиод каждой матрицы (угол подключения) обозначен зеленой точкой. Направление следования цепочки светодиодов из угла подключения - красной линией.

Ниже представлена пошаговая схема распределения диодов матрицы по вселенным.

Output patch - Select Device

Шаг 6

Итак, эффекты созданы или выбраны из готовых примеров. Один из эффектов отображается в реальном режиме времени в центральной панели, являющейся результатом смешивания эффектов из правой и левой панелей предварительного просмотра.

Start output

Для начала трансляции эффекта на устройства-приемники выберите в меню "Setup" пункт "Start Output". Для остановки трансляции повторно выберите этот же пункт меню.

Start output

Clone this wiki locally