Примеры настройки ValueServer, ValueXPlayer, ValueXMLWriter¶
- Table of contents
- Примеры настройки ValueServer, ValueXPlayer, ValueXMLWriter
1. Два независимых приложения¶
Первый пример предполагает использование 2-х приложений DJin, один из которых использует только XPlayer, другой исполняет следующие плагины:
- Плагин ValueServer (сервер значений),
- Экстендер_ValueXPlayer,
- Плагин_ValueXMLWriter.
1.1 Настройка vid и xml файлов для первого приложения (XPlayer)¶
Первоначально осуществим настройку системы событий, создав файл player.xml со следующим содержимым:
<EVENT_SERVER HOST="STAS_TEST_PLAYER">
<CLIENTS>
<TCP TYPE="SERVER" IP="127.0.0.1" PORT="7601" />
</CLIENTS>
</EVENT_SERVER>
Теперь перейдем к редактирования .vid файла конфигурации, добавив в конец файла строку:
INIT_EVENT_SERVER player.xml
1.2 Настройка vid и xml файлов второго приложения DJin (ValueServer, ValueXPlayer, ValueXMLWriter)¶
Создадим файл valueserver.xml со следующим содержимым:
<EVENT_SERVER HOST="STAS_TEST_VS">
<CLIENTS>
<TCP TYPE="CLIENT" IP="127.0.0.1" PORT="7601" />
<TCP TYPE="SERVER" IP="0.0.0.0" PORT="7602" PROTOCOL="XML" />
</CLIENTS>
</EVENT_SERVER>
Для подключения плагинов необходимо добавить строки:
CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
SET_OBJ_BASE ValueServer log true
...
CREATE_VIEW_TAB VIEW_T1 BODY_H 0 0 1 1 (возможно уже данный VIEW_T1 создан)
...
CREATE_NET_WND_PLUGIN ValueXMLWriter ValueXMLWriter.dll Digispot.Plugins.ValueXMLWriter
...
SET_VIEW_TAB_OBJ VIEW_T1 ValueXMLWriter "Value XML Writer"
...
Далее в конце vid файла необходимо добавить строку:
INIT_EVENT_SERVER valueserver.xml
Экстендер_ValueXPlayer достаточно положить в каталог Extenders.
1.3 Настройка плагина ValueXPlayer¶
Для настройки ValueXPlayer’а в главном меню приложения выбираем пункт Компоненты > Настройка передачи состояния XPlayer’ов … В открывшемся диалоговом окне мы видим настройку передачи состояния XPlayer’ов.
Теперь более детально рассмотрим настройку конкретной записи:
- Модуль: наименование модуля плеера, который можно посмотреть в .vid файле конфигурации, в строках CREATE_OBJ_PLAY_X
- Имя расписания: имя (не путь хранения) расписания, в котором будет осуществляться поиск элементов для получения дополнительной информации о проигрываемом в плеере элементе
- Модуль ValueServer’а: имя модуля, взятое из .vid файла конфигурации CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
- Хост ValueServer’а: адрес сервера значений в системе событий, так как ValueServer размещен на другой машине, то его адрес должен быть обязательно указан
- Имя переменной: получатель событий на стороне ValueServer’а
- Кол-во элементов: длина очереди плеера, которая будут передаваться получателю
1.4 Настройка плагина ValueXMLWriter¶
На панели DJin расположена вкладка с наименованием "Value XML Writer". Данная вкладка содержит таблицу с настройками. В данной таблице указан перечень получаемых от Value сервера значений, а именно:
- Имя значение (ValueName) - название значения переменной, события и изменения по которой требуется получать и передавать приложению(название аналогично ValueName в ValueXPlayer)
При необходимости получить очередь проигрываемых в плеере файлов, в название переменной нужно добавить ".queue" - Файл для сохранения (FileName) - полное имя создаваемого XML-файла (Подставляется в аргументах вместо FILE)
- Кодировка файла (Codepage) - кодировка, по умолчанию - UTF-8 (ANSI,UTF-8)
- Выполнить (ExecuteApp) - имя файла выполняемого приложения
- Аргумент (Arguments) - список аргументов. С помощью FILE можно указать полное имя создаваемого XML-файла
- Рабочий каталог (WorkPath) - рабочий каталог приложения
- Опция ожидания выполнения (WaitOption) - опции ожидания выполнения запущенного процесса: не ждать, ждать указанное время (сек.) или ждать вечно ("Опция ожидания выполнения: Ждать бесконечно" - блокирует обращение к файлу, прописанного в Выполнить и следующая нотификация будет обработана после завершения выполнения команды)
- Адрес сервера значений (ValueServerAddress) - адрес сервера значений
Так как ValueServer размещен на другом DJin, то его адрес должен быть указан для удаленного хоста в формате: /.
. В случае данного примера полный адрес будет таким: /VS.ValueServer.
Редактирование записей списка выполняется с помощью контекстного меню.
2. Все в одном приложении¶
Пример предполагает использование одного приложения DJin, включающего в себя все модули:
2.1 Настройка vid файла приложения DJin¶
Для подключения всех плагинов необходимо добавить следующие строки в файл конфигурации:
CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
SET_OBJ_BASE ValueServer log true
CREATE_VIEW_TAB VIEW_T1 BODY_H 0 0 1 1 (возможно уже данный VIEW_T1 создан)
...
CREATE_NET_WND_PLUGIN ValueXMLWriter ValueXMLWriter.dll Digispot.Plugins.ValueXMLWriter
...
SET_VIEW_TAB_OBJ VIEW_T1 ValueXMLWriter "Value XML Writer"
Явно настраивать систему событий не нужно, т.к. все модули общаются в рамках одного приложения. Т.е. создавать valueserver.xml и valueserver_client.xml, как в предыдущем случае, не надо. Если система событий уже явно настроена для других задач - это не помешает.
Так как ValueServer размещен в том же приложении, то нет необходимости заполнять поле Хост в области относящейся к Адресу сервера значений, достаточно указать Имя переменной.
Все остальные настройки выполняются аналогично первому примеру.
2.2 Подключение для инфопанели¶
На случай, если потребуется подключение для инфопанели, то следует создать файл djin.xml со следующим содержимым:
<EVENT_SERVER HOST="STAS_TEST_VS">
<CLIENTS>
<TCP TYPE="SERVER" IP="0.0.0.0" PORT="7602" PROTOCOL="XML" />
</CLIENTS>
</EVENT_SERVER>
3. Пример подключения к уже настроенной вещательной станции¶
Этот пример в случае, если нужно настроить запись XML для уже настроенного вещательного комплекса. Это можно сделать, даже если комплекс работает на поколении 2.15.37.
3.1 Настройка вещательной места (XPlayer)¶
В этом случае нет необходимости обновлять ПО эфирной машины и менять ее конфигурацию. Нам понадобится немного изучить текущую конфигурацию эфирной машины, для настройки других модулей.
Собственно настройка сводится к тому, чтобы в конфигурации системы событий эфирной машины был указан серверный сокет, к которому можно было подключиться. Т.е. в файле настройки системы событий должна быть строка, создающая серверный сокет (TYPE="SERVER") на некотором порту. Например:
<EVENT_SERVER HOST="STAS_TEST_PLAYER">
<CLIENTS>
<TCP TYPE="SERVER" IP="127.0.0.1" PORT="7601" />
</CLIENTS>
</EVENT_SERVER>
Если такой строки в файле настройки нет - ее нужно добавить, если система событий не настроена вообще, то нужно разместить XML файл настройки в каталоге SYSTEM (дав ему произвольное имя, например, air_events.xml) и указать его в используемом VID файле, добавив в конец строку:
INIT_EVENT_SERVER air_events.xml
Запомним имя хоста системы событий - STAS_TEST_PLAYER.
Теперь, нам нужно узнать, какой идентификатор указан для XPlayer в файле конфигурации. Он нам понадобится на позже. Для этого:
- откроем используемый на эфирном месте VID файл в текстовом редакторе и найдем там строку, вида
CREATE_OBJ_PLAY_X XXXX
Вместо XXXX будет указан идентификатор плеера. - Поищем в файле, выше найденной строки, строку вида
#define XXXX nnnn
где nnnn - это некое число
Если вторую строку найти не удалось, то идентификатор плеера это строка XXXX, а если удалось, то идентификатор - это число nnnn. Запомним его.
Теперь определим, какое из расписаний использует для вещания данный плеер. Для этого заглянем в его настройку:
Если в строке "Путь к расписанию" указан путь - запомним его. Если ничего не указывается - значит используется расписание по умолчанию.
В этом случае, оно может быть дополнительно настроено в настройках приложения. Проверим:
Если в параметре "Путь хранения основного расписания" указан путь - запомним его, иначе запомним, что используется расписание по умолчанию.
Откроем окно настройки расписаний (Общие настройки)
Найдем в списке путь, указанный в для плеера. Если в плеере путь не указан, то используется расписание Default, иначе найдем в первой колонке списка название и запомним его.
3.2 Настройка места записи XML (ValueServer, ValueXMLWriter)¶
3.2.1 Настройка VID-файла¶
Создаем оконные плагины ValueServer, ValueXMLWriter
CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
SET_OBJ_BASE ValueServer log true
CREATE_NET_WND_PLUGIN ValueXMLWriter ValueXMLWriter.dll Digispot.Plugins.ValueXMLWriter
...
SET_VIEW_TAB_OBJ VIEW_T1 ValueXMLWriter "Value XML Writer"
3.2.2 Настройка системы событий¶
В системе событий нам нужно клиентское подключение к машине с XPlayer.
<EVENT_SERVER HOST="STAS_TEST_VS">
<CLIENTS>
<TCP TYPE="SERVER" IP="127.0.0.1" PORT="7603" />
<TCP TYPE="SERVER" IP="0.0.0.0" PORT="7602" PROTOCOL="XML" />
</CLIENTS>
</EVENT_SERVER>
3.3 Настройка плагина ValueXPlayer¶
Создадим файл djin.xml, указав в нем настройки системы событий:
<EVENT_SERVER HOST="STAS_DEVELOP">
<CLIENTS>
<TCP TYPE="CLIENT" IP="127.0.0.1" PORT="7601" />
<TCP TYPE="CLIENT" IP="127.0.0.1" PORT="7603" />
</CLIENTS>
</EVENT_SERVER>
Т.к. в этом случае плеер находится на другом рабочем месте, то необходимо указать Хост в области Адрес плеера в системе событий. Хостом является имя эфирного места указанное в настройках системы событий. Идентификатор плеера мы узнали ранее.
3.4 Настройка плагина ValueXMLWriter¶
Аналогична второму примеру, т.к. ValueXMLWriter и ValueServer находятся на одном месте.
Укажем название расписания используемого плеером, определенное ранее.
3.4.1 Общая настройка места записи XML¶
В обычной ситуации данное место включается в общий комплекс как обычно, указанием общего корневого каталога.
Но возможны и особые случаи - если весь комплекс работает на поколении 2.15.37, то данное место можно настроить изолированно, не указывая общий корневой каталог. Т.к. плагин ValueXMLWriter обращается к эфирному расписанию, то в общих настройках должно присутствовать как минимум эфирное расписание, воспроизводимое плеером, название которого мы используем при настройке ValueXMLWriter. Т.к. плагины не используют МБД, то ее при изолированной инсталляции можно не настраивать, что позволит избежать обновления ее структуры.