Event Service

Event-Service-menu

The context menu of the secondary events panel provides the "Event Service" submenu with access to the following supported external devices and applications:

Important
The Open API is available for the customers to implement the support for any other devices. The controlling commands syntax is described in the Cinegy Air Event Service API Manual.

Controlling the Nevion VikinX Router

Event Commands Format

Having installed the external event service as described in the Remote Cinegy Event Manager article, you can use this service to control the VikinX VD0808 router or any other device from Nevion (formerly Network Electronics) using the same protocol.

The table below shows the events format used to control this device.

Device Command Op1 Op2 Op3 Description

VIKINX

crosspoint

<Level>

<In>

<Out>

Set the crosspoint at level <Level> from input <In> to output <Out>.

For example, this event will connect input 1 to output 2 at level 4:

Device: VIKINX

Command: crosspoint

Op1: 4

Op2: 1

Op3: 2

If this event is sent to the VikinX event service, the following message appears in the service console window:

25.08.2022 12:00:32.107 EVENT: VIKINX crosspoint 4 1 2 : succeeded.

It means that the service has received the event successfully.

Device Configuration

You can use the configuration utility to define the device settings (e.g. the COM port number used to connect the VikinX VD0808 device). This utility is automatically started by running the InsatallLocalService.bat and InsatallRemoteService.bat files.

Controlling the Kramer Electronics Router

Event Commands Format

The table below shows the events format used to control any Kramer Electronics device compatible with its "Protocol 2000".

Device Command Op1 Op2 Op3 Description

KRAMER

crosspoint_video

<Machine number>

<In>

<Out>

Set the video crosspoint only on the device defined by <Machine number> from video input <In> to video output <Out>.

KRAMER

crosspoint_audio

<Machine number>

<In>

<Out>

Set the audio crosspoint only on the device defined by <Machine number> from audio input <In> to audio output <Out>.

KRAMER

crosspoint_all

<Machine number>

<In>

<Out>

Set both the video and audio crosspoints on the device defined by <Machine number> from input <In> to output <Out>.

Controlling the Grass Valley NVision Router

The table below shows the events format used to control the Grass Valley NVision router using the NV 9000 protocol:

Device Command Op1 Op2 Op3 Description

NVISION

crosspoint

<In>

<Out>

<Level>

Set both the video and audio crosspoints from input <In> to output <Out>. The current use of video/audio crosspoint is defined by the <Level> parameter.

NVISION

crosspoint_all

<In>

<Out> or empty

Set both the video and audio crosspoints from input <In> to output <Out>. The level <Level> for both video and audio crosspoints and output <Out> (if empty) are defined in the device configuration.

NVISION

crosspoint_video

<In>

<Out>

Set the video crosspoint only from video input <In> to video output <Out>. The level <Level> is defined in the device configuration.

NVISION

crosspoint_audio

<In>

<Out>

Set the audio crosspoint only from audio input <In> to audio output <Out>. The level <Level> is defined in the device configuration.

Use the configuration utility to define the device settings. This utility is automatically started by running the InsatallLocalService.bat and InsatallRemoteService.bat files.

Controlling the Imagine Communications Router

The table below shows the events format used to control the router from Imagine Communications (formerly Harris Broadcast) using the Leitch protocol. Two types of this protocol are supported: terminal and pass-through.

Device Protocol Type Command Op1 Op2 Op3 Description

HARRIS

terminal

crosspoint

<Level>:<In>,<Out>

Set the crosspoint at level <Level> from input <In> to output <Out>. To use multiple outputs, list them separated by commas. Additional crosspoint requests can be included in the <Op1> line by separating each set with a "/" separator.

HARRIS

pass-through

crosspoint

<Level>/<Out>,<In>

Set the crosspoint at level <Level> and define for output <Out> and input <In> values in Hexadecimal number from 0 to FFF0.

Each crosspoint field is treated as a completely separate command.

For example, with terminal protocol type, the event with the following configuration will connect input 2 to output 3 at level 1 and input 4 to outputs 5 and 6 at level 2:

Device: HARRIS

Command: crosspoint

Op1: 1:2,3 / 2:4,5,6

Op2:

Op3:

For example, with pass-through protocol type, the event with the following configuration will take input 31 (hex. 1F) on levels 0, 1, and 4 to output 4:

Device: HARRIS

Command: crosspoint

Op1: 014/4,1F

Op2:

Op3:

Controlling the Evertz Router

The table below represents the events format to control the Evertz router using the Quartz protocol. Two types of commands are supported: crosspoint and quartzcustom.

Device Command Op1 Op2 Op3 Description

Evertz

crosspoint

<Level>

<Dest>

<Srce>

Set the crosspoint at level <Level> using the "V,A,B,C,D,E,F,G…​" format. Set the destination number or the output <Dest> and the source number or the input <Srce>.

Evertz

quartzcustom

Contains any QUARTZ command

The command is used to extend the basic functionality.

For example, the event with the following crosspoint command configuration will connect Video in destination 1 to source 2 on levels V,A,B,C:

Op1=VABC Op2=1 Op3=2

Use the quartzcustom command for the same configuration instead of the crosspoint command:

Op1=.SV1,2

Important
Refer to Application Note 65 Quartz Routing Switcher Remote Control Protocol for more details.

Controlling the UTAH Scientific Router

The table below shows the events format used to control the UTAH Scientific router.

Device Command Op1 Op2 Op3 Description

UTAH

crosspoint

<In>

<Out>

<Level>

If the level is not defined, this data is taken from the settings.

UTAH

disconnect

<In>

<Out>

<Level>

If the level is not defined, this data is taken from the settings.

Controlling the Blackmagic Videohub Router

The table below shows the events format used to control the Blackmagic Videohub router.

Device Command Op1 Op2 Op3 Description

BMDVIDEOHUB

crosspoint

main crosspoint

reserve crosspoint (optional)

The "crosspoint" definition has the following format: <[O|M]out>,<[I]in> [<[O|M]out>,<[I]in>…]
Ports can have the following prefixes:
I(i) – input port, no need to use at all;
O(o) – output port (default);
M(m) – monitoring output port (should always be set explicitly).

Delimiters between the output/input pair are , or :, no white space is allowed.

Delimiters between the route commands are: space, ;, \t (tab).

For example:

2,1 – route output port 2 to input port 1;

o2,i1 (or O1,I1 etc.) – route output port 2 to input port 1;

2:1 – route output port 2 to input port 1;

M2,1 – route monitoring output port 2 to input port 1;

3,2 4,2 o5,2 – three route commands in one sequence (output port 3 to input port 2, output port 4 to input port 2, output port 5 to input port 2).

GPI Driven Devices

General Purpose Input/Output (GPIO) interface is the universal interface that can be used to communicate with any devices which support the GPI protocol. Cinegy supports the SeaLevel GPI board, which should be installed in order to use the GPI signaling.

Event Commands Format

The table below shows the events format used to control two different models of GPI driven devices.

Device Command Op1 Op2 Op3 (Optional) Description

GPI SeaIO

setpin

<pin number> [0..7]

value (0 or 1)

not used

Set the value (0 or 1) on the specified GPI pin.

GPI SeaMAX

<pin number>[0..15]

"Slave ID" of device to execute command.

GPI SeaIO

setbyte

<byte mask> [0..255]

not used

not used

Set all the pins by mask.

GPI SeaMAX

<byte mask>[0..65535]

"Slave ID" of device to execute command.

Note
If Op3 is empty, default Slave ID from settings is used.

Controlling FOR-A Router

The table below shows the events format used to control FOR-A MFR Router:

Device Command Op1 Op2 Op3

FOR-A

ConnectCrossPoint

Level

Source

Destination

For example, this event will connect input 1 to output 2 at level 4:

Device: FOR-A

Command: ConnectCrossPoint

Op1: 4

Op2: 1

Op3: 2

Controlling Cinegy Route

The table below shows the event format used to control physical source switching for virtual destinations using the Cinegy Route external device.

Device Command Op1 Op2 Op3

CINEGY_ROUTE

crosspoint

Cinegy Route server (hostname or IP-address)

Cinegy Route physical source

Cinegy Route virtual destination

Setting Permissions

Controlling Cinegy Route through Cinegy Event Manager requires additional permissions setup, which depends on whether Cinegy Event Manager is running locally or remotely.

The local Cinegy Event Manager is installed on the playout server. This means that starting the Cinegy Playout engine will force Cinegy Event Manager to start under the same user account. Thus, the user running the Cinegy Playout engine must be added to the "Routing Users" group via Cinegy Route Manager.

Similarly, Cinegy Event Manager service running on a remote computer should be started under the user with the "Routing Users" privileges.

Controlling Cinegy Stream Switcher

Cinegy Stream Switcher is a tool for automatic switching of RTP/UDP/SRT stream sources in redundant configurations. For example, Cinegy Stream Switcher can be used to monitor RTP output from master and slave Cinegy Playout instances. When one of streams is lost, Cinegy Stream Switcher will automatically switch to another one, so the output is not interrupted.

The setup procedure consists of three stages requiring specific application configurations. Each stage is described in detail further in this article.

1. Cinegy Stream Switcher Configuration

Install and configure the Cinegy Stream Switcher tool for automatic switching of RTP stream sources in redundant configuration as described in the Cinegy Stream Switcher Manual.

2. Local Cinegy Event Manager Configuration

Install Cinegy Event Manager. After the installation is completed, configure the Cinegy Route plug-in.

3. Cinegy Air Configuration

The final setup stage contains the description of the Cinegy Air control application configuration.

To implement the Cinegy Stream Switcher control, add the event manually on the secondary events panel; alternatively use the "Edit Favorites…​" context menu command from the secondary events panel to preconfigure the event and apply it to the needed playlist item. In the configuration window that appears, press the "New Item…​" button. In the "Event properties" window specify the corresponding event parameters:

  • Name – specify the name for the event;

  • Offset – define the time offset from the item start/end (depending on the value defined in the "From" field);

  • Device – specify the STREAM_SWITCHER as the device that will receive the event;

  • Command – enter a command name via the keyboard. The supported device commands description is given in the table below.

Command Name Action Taken

START

Causes a stopped channel to start. If already started, no action.

STOP

Causes a started channel to stop. If already stopped, no action.

MAIN

Triggers a change to the MAIN IP source. If already MAIN, no action.

BACKUP

Triggers a change to the BACKUP IP source. If already BACKUP, no action.

CONFIG

Loads the settings as contained in the OP3 parameter passed in.

  • Option1…3 – define the command options. An overview of the command options is represented in the table below.

Command Options Action Taken

OP1

The name or IP address of the Stream Switcher Server to address. If empty, the plug-in default parameter is used.

OP2

The channel name or channel zero-based numerical index to address. If empty, the plug-in default parameter is used.

OP3

Contains XML profile data to apply to the channel as replacement settings.

Note
This option is used by CONFIG command only.
  • Description – provide the event description;

  • ID – define the secondary event ID which is logged into the as-run log for every event raised.

The sample XML profile file is provided below:

<Stream UniqID="StrSwCfg" MainUrl="rtp://239.1.1.2:1235" BackupUrl="rtp://239.1.1.3:1236" OutputUrl="rtp://239.1.1.4:1237"
StreamName="Stream_02" MaxDelay="5000" MaxRtpLoss="5"><ErrorLevel Key="0" Value="3" /><ErrorLevel Key="1" Value="0" /><ErrorLevel Key="2" Value="0"
/><ErrorLevel Key="3" Value="0" /><ErrorLevel Key="4" Value="0" /><ErrorLevel Key="5" Value="0" /><ErrorLevel Key="6" Value="0" /><ErrorLevel
Key="7" Value="0" /><ErrorLevel Key="8" Value="0" /><ErrorLevel Key="9" Value="0" /><ErrorLevel Key="10" Value="0" /><ErrorLevel Key="11" Value="0" /></Stream>

Controlling PowerShell

The table below shows the events format used to control custom Microsoft PowerShell scripts. The event syntax should be manually entered in the corresponding fields in the secondary events panel or via "New Item" command in the "Edit Favorite Events" dialog.

Device Command Op1 Op2 Op3

POWERSHELL

Argument to be used by PowerShell script

Argument to be used by PowerShell script

Argument to be used by PowerShell script

Argument to be used by PowerShell script

Important
Refer to the Cinegy PowerShell Command section for a detailed description of triggering PowerShell scripts via Cinegy Event Manager.

Controlling RossTalk Router

The table below shows the events format used to control RossTalk Router:

Device Command Op1 Op2 Op3

ROSSTALK

XPT

<source number>

<destination number>

optional, see description below

The "XPT" RossTalk command (a 'cross-point' command) is supported:

  • OP1 is mapped to the 'S = source' parameter (required);

  • OP2 is mapped to the 'D = destination' parameter (required);

  • OP3 may be:

    • a simple number, which will map to the 'L = level' parameter and trigger the injection of the 'I = default user' parameter from the configurator;

    • a string containing at least one ':' symbol, which will then be appended as-is to the XPT command (effectively allowing custom command suffix and bypass setting any automatic default user parameter);

    • empty / unset (the command will be terminated automatically with the 'I = default user' parameter from the configurator.