Плагины на Lua
Lua внутри консоли: циклы, вычисления и чтение состояния шоу. Нужен там, где есть повторение с изменением.
Плагин — программа на языке Lua, выполняющаяся внутри консоли. Он умеет то, чего не умеет Macro: циклы, вычисления, чтение состояния шоу.
Если задача решается Macro — решайте Macro. Плагин берут, когда есть повторение с изменением: создать сотню объектов по шаблону, разложить Fixture по Layout вычислением, проверить шоу на пустые Cue и Fixture без группы, сгенерировать набор Preset, загрузить данные из внешнего файла.
Основы
> Lua "gma.echo('hello')"
Строка выполняется сразу, результат — в Command Line Feedback.
С 3.1 плагины пишутся на Lua 5.3: реализация языка в консоли переписана заново.
| Функция | Что делает |
|---|---|
gma.cmd(строка) |
Выполнить команду Command Line |
gma.echo(строка) |
Вывести сообщение в фидбек |
gma.feedback(строка) |
То же, в другое окно |
gma.sleep(секунды) |
Пауза |
gma.show.getvar / setvar |
Переменные шоу |
gma.gui.confirm(строка) |
Диалог подтверждения |
gma.gui.textinput(...) |
Запрос текста у пользователя |
Двадцать групп по одному Fixture:
return function()
for i = 1, 20 do
gma.cmd("Fixture " .. i)
gma.cmd("Store Group " .. (100 + i))
gma.cmd('Label Group ' .. (100 + i) .. ' "Fix ' .. i .. '"')
end
gma.cmd("Clear")
gma.echo("Done: 20 groups created")
end
Где хранятся плагины
В Pool плагинов; редактор открывается по Edit Plugin 1. Код пишут прямо в
консоли или копируют файлом в папку плагинов шоу.
> ReloadPlugins > ListPluginLibrary
ReloadPlugins перечитывает файлы после правки во внешнем редакторе.
Как не потерять шоу
Пишите во внешнем редакторе, а не в консольном: подсветка и автодополнение
экономят время, ReloadPlugins подхватит изменения.
Прежде чем выполнять команды, выведите их через gma.echo и убедитесь, что
строки складываются правильно.
Плагин работает через тот же Programmer, что и вы, поэтому Clear в конце
обязателен.
gma.cmd("Delete ...") в цикле с ошибкой в диапазоне удалит больше, чем задумано.
Сохраняйтесь перед первым запуском нового плагина и тестируйте на копии.
Если вы не программист
Писать самому необязательно. Сообщество и MA публикуют плагины для типовых задач — генерация Layout, проверка шоу, массовое переименование; их стоит искать на форуме MA Lighting и в профильных сообществах.
Полезно уметь три вещи: прочитать чужой плагин и понять, что он делает, поправить в нём числа — диапазоны и номера Pool, — запустить и разобрать сообщение об ошибке.
Нашли в статье ошибку, устаревшее или непонятное место?