Total Kontrol/TKT/Предопределённые ID: различия между версиями

Материал из KONANlabs
Перейти к: навигация, поиск
 
(не показана 1 промежуточная версия этого же участника)
Строка 92: Строка 92:
  
 
[[Total_Kontrol/TKT/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82_XML_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0#.D0.92.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BD.D0.BE.D0.BF.D0.BA.D0.B0_.28pushbutton.29|Кнопка]] сброса счётчиков голосования (устанавливает все счётчики голосов в 0). Полный ID: /~conference/clrvote.
 
[[Total_Kontrol/TKT/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82_XML_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0#.D0.92.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D0.BD.D0.B0.D1.8F_.D0.BA.D0.BD.D0.BE.D0.BF.D0.BA.D0.B0_.28pushbutton.29|Кнопка]] сброса счётчиков голосования (устанавливает все счётчики голосов в 0). Полный ID: /~conference/clrvote.
 +
 +
== '''showclock''' - отображение часов ==
 +
 +
Переключает страницу для отображения в зале между часами и результатами голосования. Полный ID: /~conference/showclock.
  
 
= '''~cam''' - управление камерой =
 
= '''~cam''' - управление камерой =
Строка 233: Строка 237:
 
= '''~dsp''' - управление аудиоплатформой =
 
= '''~dsp''' - управление аудиоплатформой =
  
Корневой контейнер - '''~power''', контейнеры следующих уровней определяют параметры аудиоплатформы.
+
Корневой контейнер - '''~dsp''', контейнеры следующих уровней определяют параметры аудиоплатформы.
  
 
== '''gain''' - управление усилением ==
 
== '''gain''' - управление усилением ==

Текущая версия на 07:41, 7 января 2022

Предопределённые идентификаторы предусмотрены для того, чтобы обеспечить возможность изменения веб-интерфейса без модификации логики управления центрального блока. Идентификаторы строятся по стандартам путей OSC. Кратко - идентификатор состоит из имён контейнеров, разделённых прямым слэшем, например "/контейнер1/контейнер2", контейнер1 в данном случае называется корневым, следующий - контейнер 2го уровня, и так далее. Имена всех предопределённых корневых контейнеров начинаются с "~".

Содержание

~conference - управление конференц-системой

Корневой контейнер - ~conference. Контейнеры следующих уровней управляют отдельными параметрами конференц-системы.

mic - управление микрофонными пультами

Для управления используются вложенные контейнеры. Контейнер 3-го уровня select предназначен для выбора микрофонного пульта, которым будет управлять контейнер control (см. ниже). Используется для видимого элемента input. Пример полного ID: /~conference/mic/select.

Контейнер 3-го уровня control предназначен для непосредственного управления микрофонными пультами. Используется для видимого элемента checkbox, для которого должно быть определено 4 состояния:

  • 0 - пульт присутствует в системе и выключен;
  • 1 - пульт присутствует в системе и включён;
  • 2 - пульт присутствует в системе в состоянии запроса на выступление;
  • unavailable - пульт отсутствует в системе.

Пример полного ID: /~conference/mic/control.

Добавлением к контейнеру control 4-го уровня можно реализовать страницу синоптического управления микрофонными пультами (когда каждый пульт, присутствующий в зале представлен отдельным видимым элементом, оператор может видеть полную картину и управлять любым пультом одним нажатием на экран). Пример полного ID для синоптического управления микрофонным пультом №4: /~conference/mic/control/4.

mode - режим работы конференц-системы

Контейнер предназначен для переключения режимов работы конференц-системы. Используется для группы радиокнопок. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~conference/mode. Допустимы следующие значения:

  • 1 - свободный режим (до 2019 г.);
  • 2 - режим "лимит";
  • 3 - режим "FIFO";
  • 4 - регистрация на голосование;
  • 5 - голосование.

Для радиокнопок режима работы должно быть определено 3 состояния:

  • 0 - кнопка отжата;
  • 1 - кнопка нажата;
  • unavailable - режим недоступен.

Логика центрального блока управляет видимостью радиокнопок режима. В режимах регистрации и голосования все остальные кнопки блокируются, выход из этих режимов осуществляется кнопкой с предопределённым идентификатором /~conference/end (см. ниже).

end - завершение регистрации и голосования

Контейнер завершает режимы регистрации голосования, переводит конференц-систему в режим, предшествовавший началу регистрации или голосования. Используется для элемента pushbutton. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~conference/end. У видимого элемента должно быть определено 3 состояния:

  • 0 - кнопка отжата;
  • 1 - кнопка нажата;
  • unavailable - кнопка недоступна.

limmic - лимит количества одновременно включенных микрофонных пультов

Контейнер задаёт максимальное количество одновременно включенных пультов. Используется для элемента input. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~conference/limmic.

limreq - лимит количества активных запросов на выступление

Контейнер задаёт максимальное количество микрофонных пультов, которые могут находиться в очереди на выступление (в состоянии запроса на выступление). Используется для элемента input. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~conference/limreq.

Логика центрального блока управляет видимостью этого контейнера, также существует предопределённый ID /~conference/lb_limreq для видимого элемента lightbox, видимость которого изменяется синхронно с limreq. Этот видимый элемент может быть использован для создания "подписи" к полю ввода, которая появляется и исчезает вместе с ним.

timspeak - ограничение времени выступления

Контейнер задаёт ограничение времени выступления. Эта функция пока не реализована, применение бессмысленно.

timvote - ограничение времени регистрации и голосования

Контейнер задаёт ограничение времени на регистрацию и голосование. Используется для элемента input. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~conference/timvote.

Логика центрального блока управляет видимостью этого контейнера, также существует предопределённый ID /~conference/lb_timvote для видимого элемента lightbox, видимость которого изменяется синхронно с limreq. Этот видимый элемент может быть использован для создания "подписи" к полю ввода, которая появляется и исчезает вместе с ним.

req - управление очередью запросов

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

Контейнер 3го уровня list предназначен для отображения текущей очереди в порядке поступления запросов, используется для элемента lightbox. Текст видимого элемента будет представлять собой номера микрофонных пультов в очереди, разделённых запятыми. Полный ID: /~conference/req/list.

Контейнер 3го уровня accept "принимает" первый в очереди запрос на выступление, т. е., включает микрофонный пульт, запрос от которого пришёл раньше всех. Полный ID: /~conference/req/accept.

Контейнер 3го уровня reject "отклоняет" первый в очереди запрос на выступление, т. е., выводит из режима запроса микрофонный пульт, запрос от которого пришёл раньше всех. Полный ID: /~conference/req/reject.

attd - количество делегатов, зарегистрировавшихся для участия в голосовании

Контейнер предназначен для отображения количества делегатов, зарегистрировавшихся для участия в голосовании. Изменяется в реальном времени в режиме регистрации. Используется для элемента lightbox. Полный ID: /~conference/attd.

vote1-vote5 - результаты голосования

Контейнеры предназначены для отображения количества делегатов, проголосовавших за каждую из 5 доступных опций голосования. Изменяются в реальном времени в режиме голосования. Используется для элемента lightbox. Полный ID для количества проголосовавших "за": /~conference/vote1.

voted - общее количество проголосовавших

Контейнеры предназначены для отображения количества делегатов, проголосовавших за какую-либо из доступных опций голосования. Изменяются в реальном времени в режиме голосования. Используется для элемента lightbox. Полный ID: /~conference/voted.

clrreg - сброс регистрации

Кнопка сброса счётчика регистрации (устанавливает счётчик зарегистрированных в 0). Полный ID: /~conference/clrreg.

clrvote - сброс голосования

Кнопка сброса счётчиков голосования (устанавливает все счётчики голосов в 0). Полный ID: /~conference/clrvote.

showclock - отображение часов

Переключает страницу для отображения в зале между часами и результатами голосования. Полный ID: /~conference/showclock.

~cam - управление камерой

Корневой контейнер - ~cam. Контейнеры следующих уровней управляют отдельными параметрами системы наведения видеокамер.

show - навести камеру на микрофонный пульт

Контейнер предназначен для наведения камеры на микрофонный пульт по его номеру. Используется для группы радиокнопок для страницы синоптического управления конференц-залом. Может быть использован для элемента input, для наведения камеры путём ввода номера микрофонного пульта. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/show.

Непосредственное управление камерой

6 контейнеров 2го уровня, осуществляющих прямое управление поворотными камерами. Используются для элементов pushbutton:

  • left - поворот влево
  • right - поворот вправо
  • up - поворот вверх
  • down - поворот вниз
  • zoomin - приближение
  • zoomout - отдаление

Вложенные контейнеры не предусмотрены, пример контейнера для кнопки "вверх": /~cam/up.

track - автоматическое наведение камеры

Включает/выключает автоматическое наведение камеры на включенный микрофон. Используется для элемента checkbox. Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/track.

Должны быть определены 2 видимых состояния:

  • 0 - автонаведение выключено;
  • 1 - автонаведение включено.

prev, next - наведение камеры на включенные микрофоны

Используются для элементов pushbutton. Наводят камеру на предыдущий/следующий включенный микрофон в порядке их включения. Должны быть определены 3 видимых состояния:

  • 0 - кнопка отжата;
  • 1 - кнопка нажата;
  • unavailable - кнопка недоступна.

select - переключение камер

Логика центрального контроллера, кроме управления поворотными камерами, осуществляет автоматическое переключение на нужную камеру, если камер в системе более одной. Для ручного выбора камеры, транслируемой в систему видеоконференцсвязи, предусмотрен контейнер select. Используется для группы радиокнопок. Может быть использован для элемента input, для выбора камеры путём ввода номера.

Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/select.

home - общий вид

Пресет общего вида конференц-зала. Не реализован.

homecam - камера общего вида

Номер камеры, которая показывает общий вид конференц-зала. Не реализован.

homepreset - пресет камера общего вида

Пресет общего вида конференц-зала. Не реализован.

return - возврат камеры

Контейнер включает автоматическое наведение камеры на предыдущий включенный микрофонный пульт в случае, если пульт, на который наведена камера, выключается. Если выключается последний включенный пульт, активируется пресет общего вида. Используется для видимого элемента checkbox, для которого должно быть определено 2 состояния:

  • 0 - выключено;
  • 1 - включено.

Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/return.

oper - автонаведение камеры на действия оператора

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

  • 0 - выключено;
  • 1 - включено.

Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/oper.

storecur - сохранение изменённой позиции камеры

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

  • 0 - отжата;
  • 1 - нажата;
  • unavailable - недоступна.

Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/subst.

subst - автоматическая подстановка адреса камеры

Контейнер управляет режимом безусловной подстановки адреса активной камеры. При включённом режиме во всех командах от пульта адрес камеры будет заменяться на адрес активной (демонстрируемой в текущий момент) камерой, т. о., оператору не придётся выбирать адрес камеры на пульте, пульт всегда управляет активной камерой. Используется для видимого элемента checkbox, для которого должно быть определено 2 состояния:

  • 0 - выключено;
  • 1 - включено.

Вложенные контейнеры не предусмотрены, единственный допустимый ID - /~cam/subst.

Таблица настроек

Таблица сама по себе является предопределённым элементом, к её ID автоматически добавляется корневой контейнер ~table, ID таблицы является контейнером второго уровня. Таблица с ID tab_setup (полный путь /~table/tab_setup) предназначена для индивидуальной настройки поведения каждого микрофонного пульта.

number - номер микрофона

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Предназначен для отображения номера микрофонного пульта, используется для элемента lightbox.

numbered - микрофон пронумерован

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Предназначен для индикации того, что пульт был пронумерован, используется для элемента lightbox, для которого должно быть определено 2 состояния:

  • 0 - выключено;
  • 1 - включено.

vip - VIP-пульты

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Устанавливает статус VIP для микрофонного пульта. Используется для видимого элемента checkbox строки таблицы.

link - серия микрофонных пультов

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Включает/исключает пульт в серию. Используется для видимого элемента checkbox строки таблицы.

master - устанавливает ведущий микрофонный пульт

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Устанавливает номер ведущего пульта для ведомого. Используется для видимого элемента checkbox строки таблицы.

camera - камера, снимающая микрофонный пульт

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Устанавливает номер камеры, которая снимает данный пульт. Используется для группы радиокнопок. Может быть использован для элемента input, для выбора камеры путём ввода номера.

preset - пресет камеры

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Устанавливает номер пресета камеры для микрофонного пульта, соответствующего строке таблицы. Используется для элемента [Total_Kontrol/TKT/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82_XML_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0#.D0.9F.D0.BE.D0.BB.D0.B5_.D0.B2.D0.B2.D0.BE.D0.B4.D0.B0_.28input.29|input]].

cam_go - навести камеру

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Наводит камеру на микрофонный пульт, соответствующий строке таблицы. Используется для элемента pushbutton.

cam_store - сохранить пресет

Предопределённый ID элемента таблицы с предопределённым ID tab_setup. Сохраняет пресет камеры для микрофонного пульта, соответствующего строке таблицы. Используется для элемента pushbutton.

~matrix - управление матричным переключателем видео

Корневой контейнер - ~matrix. Элемент с таким ID будет переключать 1й выход матрицы. Контейнер 2го уровня определяет выход матрицы, для которого переключается вход. Контейнер 3го уровня задаёт диапазон выходов (со 2го по 3й), для пакетного переключения. Например, контейнер /~matrix/2/5 будет выбирать вход (один и тот же) для выходов 2, 3, 4 и 5.

Используется для группы радиокнопок.

~power - управление электропитанием

Корневой контейнер - ~power. Элемент с таким ID будет управлять глобальным состоянием питания системы: включать или выключать электропитание микрофонных пультов, а также, при настроенной схеме управления питанием, обесточивать часть оборудования рэкового шкафа. Допустимые значения параметра - 1 или -. Используется для видимого элемента checkbox

~dsp - управление аудиоплатформой

Корневой контейнер - ~dsp, контейнеры следующих уровней определяют параметры аудиоплатформы.

gain - управление усилением

Контейнер 3го уровня определяет, усилением чего именно управляем:

  • in - вход
  • in_group - группа входов
  • in_dca - DCA входов
  • out - выход
  • out_group - группа выходов
  • out_dca - DCA выходов

Контейнер 4го уровня определяет номер канала управления. Пример: /~dsp/gain/in/4 - управление усилением входа 4.

mute - выключение каналов

Контейнеры следующих уровней полностью аналогичны gain. Используется для видимого элемента checkbox

xplink - управление соединениями матрицы

Контейнер 3го уровня определяет вход, 4го - выход. Используется для видимого элемента checkbox

Предопределённые id уровня сервера

Все предопределённые id уровня сервера начинаются с ~~. Обрабатываются на уровне http сервера, без участия демона.

~~run - выполнить команду shell на клиентской машине

Только от демона серверу, формат (пример для выключения машины):

/~~run<CRLF>
shutdown /s/p/f<CRLF>
shutdown -h now<CRLF>
<CRLF>

Первая строка после /~~run содержит команды для клиента под Windows, вторая - для Linux.

~~delegates - таблица данных делегатов

Предопределённый id для таблицы, заполняемой и обновляемой сервером из базы данных делегатов. Строка таблицы может содержать лайтбоксы со следующими предопределёнными id (в таблице только отображаем данные, ввод и правка - во всплывающем окне):

  • code - код (для привязки к смарт-карте и т. п.);
  • family - фамилия;
  • name - имя;
  • patronym - отчество;
  • shortname - короткий вариант (Фамилия И. О.);
  • position - должность;
  • division - подразделение.

Для добавления делегата в базу может быть определено всплывающее окно (предопределённый id /~~delegates/addpopup) с полями ввода, id которых формируются из "/~~delegates/" и id поля, напр. /~~delegates/name. Всплывающее окно вызывается любым pushbutton с соответствующим аргументом. Для правки существующей записи в строке таблицы может быть определён pushbutton с id editthis, который открывает всплывающее окно с информацией из этой строки.

Удаление делегата из базы может осуществляться двумя способами. Первый - в строке таблицы определяется pushbutton delthis, который удаляет эту строку. Второй - в строке таблицы может быть определён checkbox check, на странице определён checkbox /~~delegates/delcheck, удаляющий выбранные строки. На странице могут быть определены pushbutton'ы /~~delegates/check/all и /~~delegates/check/none, соответственно, отмечающие и снимающие отметки со всех делегатов в таблице.

Таблица может быть отсортирована по любому из столбцов, для этого на странице могут быть определены pushbutton'ы с id, получаемыми конкатенацией id таблицы, поля и контейнера sort: /~~delegates/code/sort. Кнопки должны содержать 3 видимых состояния:

  • 0 - по этому столбцу не сортируется;
  • 1 - сортировка по возрастанию;
  • 2 - сортировка по убыванию.