Общие команды
Набор общих команд (рис. 9) заимствован из базового набора команд управления светом, и, вероятно, применим для общих задач в любых шоу-системах.
Команды GO, STOP, RESUME, LOAD и GO_OFF имеют одинаковую структуру и отличаются только кодом (рис. 10).
Команда GO (0x01) запускает указанную сцену на выполнение. Время перехода к сцене программируется в управляемом устройстве. Если необходимо задать время перехода из главного контроллера, следует использовать команду TIMED_GO. Если номер сцены не указан, а управляемое устройство имеет несколько списков сцен, то вызывается следующая по номеру сцена из активного списка. Команда STOP (0x02) останавливает процесс перехода к указанной сцене. Если номер сцены не задан, все текущие процессы перехода останавливаются. Команда RESUME (0x03) приводит к продолжению остановленного перехода к сцене. Если номер сцены не указан, все остановленные переходы продолжаются. Команда TIMED_GO (0x04), рис. 11, запускает сцену на исполнение и задает время перехода. Если сцена не указана, вызывается следующая по номеру. Время задается в упомянутом выше пятибайтовом формате, обеспечивая переходы от мгновенных до продолжительных (вплоть до 24 часов).
Если управляемое устройство не поддерживает эту команду, оно должно выполнять ее как простую команду GO, игнорируя данные времени, но обрабатывая номер сцены как обычно. Команда LOAD (0x05) помещает сцену в состояние "подготовиться". Номер сцены должен быть указан обязательно. Эта команда используется в том случае, если для доступа к желаемой сцене требуется время. Таким образом, LOAD посылается заблаговременно, а последующая команда GO выполняется устройством мгновенно. Если номер сцены указан без номера списка, то сцены из всех списков с такими же номерами должны быть подготовлены к запуску. Команда SET (0x06), рис. 12, задает значение какого-либо внутреннего параметра устройства, аналогично группе MIDI-сообщений канала General Purpose Controller (см. вторую статью цикла). Номер параметра и его значение — 14-битные числа, LSB которых передается первым. Управляемое устройство может передавать этот параметр для записи в главный контроллер (и, соответственно, получать его при воспроизведении). В качестве параметра могут быть использованы внутренние переменные, атрибуты, скорости, уровни, режимы, функции, эффекты, каналы, субканалы, переключатели и т. п.
В качестве необязательных данных сообщения SET может использоваться время, за которое данный параметр должен достигнуть указанного значения. Время передается обычным способом, см. ранее. Если управляемое устройство не поддерживает данные времени в этом сообщении, оно должно их игнорировать. Для систем управления светом MSC предлагает стандартный набор параметров, который, как и все в этом протоколе, может быть расширен в зависимости от потребностей. Номера параметров для света приведены в таблице на рис. 13.
Команда FIRE (0x07), рис. 14, запускает клавиатурный макрос. Номер макроса задается семибитным числом mm. Макросы могут программироваться непосредственно в управляемом устройстве, а могут загружаться по протоколу MIDI File Dump, используя ASCII-формат данных сцены, или любым другим методом.
В следующих трех командах данные отсутствуют. Команда ALL_OFF (0x08) отключает все функции и выходы устройства без изменения настроек управляющих параметров. Состояние устройства перед запуском этой команды может быть восстановлено командой RESTORE (0x09). Команда RESET (0x0A) переводит шоу в начало, то есть завершает все исполняемые сцены, устанавливает функции, использующие время, в начальное состояние (эквивалентное тому, которое наступает после включения питания) и загружает первую сцену в каждом доступном списке в режим ожидания. Команда RESET может также приводить к автоматическому открытию закрытых списков сцен и закрытых путей, но это определяется производителем устройства. Реакция на команду должна быть описана в документе MIDI-реализации (MIDI Implementation) устройства. Команда GO_OFF (0x0B) начинает выключение сцены. Время выключения задается в управляемом устройстве. Если номер сцены не указан, выключается текущая сцена. Если указан только номер списка, выключаются все активные сцены этого списка. Это сообщение применяется для совместимости с устройствами, которые не замещают активную сцену новой по получении команды GO. Перед запуском новой сцены они требуют обязательного выключения текущей.
|