List of Commands

The table below shows the available commands. Some are explained in greater depth on the following pages.

CommandDescription
ping

Do-nothing command, causing a Ready feedback message to be sent.

authenticate

Perform authentication. Required only for display software.

load

Load a show and get ready to run. Parameter syntax differs.

online

Go online or offline. Production software only.

run

Start running, optionally specifying an auxiliary timeline name.

halt

Stop running, optionally specifying an auxiliary timeline name.

kill

Stop and deactivate the named auxiliary timeline.

gotoTime

Jump to a time position.

gotoControlCue

Jump to the time position of a named Control cue.

enableLayerCond

Turn conditional layers on or off.

standBy

Enter/exit standby mode.

getStatus

Retrieves name and status of the currently show and its timelines.

reset

Reset and stop all timelines.

setInput

Set the value of a named Input, with optional fade-rate in mS.

setInputs

Sets the values of multiple inputs together.

setLogoString

Displays a message on the startup screen.

delay

Introduces a delay between commands (command file use only).

wait

Waits for the entire display cluster to become established (cluster only).

serialPort

Opens a serial port for control protocol use (cluster only).

timecodeMode

Activates LT C (SMPTE/EBU) timecode control (cluster only).

hitTest

Get information of interactive media cues.

authenticate
This command is required for the display software prior to issuing any other commands except the ping command. While this command is accepted by the production software, it is not required. See "Authentication" above for details.

load (production software version)
Loads a show by name. The name is specified as a quoted string containing the full path to the file. The use of backslash characters in Windows path names conflicts with the use of the backslash as an escape character in this protocol. Either double the backslash characters, or use forward slashes instead (as shown in this example):

load "C:/Samples/ExampleShow.watch"
ParameterDescription

<string>

Path to the show to be loaded.

[<uint>]

Conditional layer enable flags, least significant bit is condition 1.

[<bool>]

Go online automatically. Defaults to true.

NOTE: When using this load command, the production software will automatically go online after loading the show.

If desired, you can add a numeric parameter to override the conditional layer settings of the show being loaded. For example, to enable condition 1 and 2 only:

load "C:/Samples/ExampleShow.watch" 3

The number is a sum of the decimal numbers corresponding to each desired condition, as shown in the table below.

Condition

Number
11
22

3

4

4

8

5

16

6

32

…and so on.

The last optional parameter is a boolean controlling whether the production software will go online or not, after loading the show (default value is true):

load "C:/Samples/ExampleShow.watch" 3 false

loads the specified show and sets its layer conditions, but remains offline.

load (display software version)
Load a complete show specification from a local file associated with the show name specified by the first parameter. Busy feedback may be sent to the host while loading, informing the host about the progress. If errors occur, "Error" feedback is sent. Finally, a Ready feedback message is sent, regardless of whether any error occurred.

load "Phantom" true true 3
ParameterDescription

<string>

Name of the show to be loaded.

[<bool>]

Manage cluster loading and feeback. Defaults to true.

[<bool>]

Designate as the conductor display computer. Defaults to true.

[<uint>]

Conditional layer enable flags, least significant bit is condition 1.
NOTE: You can not specify a folder path to the show. The show must be present in the “Shows” folder, located in the same folder as the WATCHOUT display software.

online
This command applies to the production software only. It takes a single boolean parameter, specifying whether to go online (true) or offline (false). Note that the load command also goes online unless explicitly disabled by the optional parameter.

gotoTime
Jump to the specified time position along the timeline.

gotoTime 5000
ParameterDescription

<uint> or <string>

Time position to go to, in milliseconds, or as a string in this format: “HH:MM:SS.FFF”, where FFF is milliseconds.

[<string>]

Name of auxiliary timeline to control (omit for main timeline).

gotoControlCue
Jump to the time of specified Control cue. If the optional “reverse only” boolean is set to true, it searches for the Control cue only back in time from the current time position. Otherwise it searches first forward then reverse.

The command does not change the run mode of the timeline. If the specified cue is not found, the timeline’s state will not change, and a runtime error message to this effect will be returned.

gotoControlCue "William" true
ParameterDescription

<string>

Name of Control cue to look for.

[<bool>]

Search in reverse only if true. If false or not specified, then search both

ways.

[<string>]

Name of auxiliary timeline to control (omit for main timeline).

enableLayerCond
Change the set of enabled layer conditions. While the layer conditions can be specified as part of the load command, this separate command allows the layer conditions to be changed without loading another show. The command takes a single, mandatory <uint> parameter with the same interpretation as the conditional layers parameter of the load command.

setLogoString
This command applies to the display software only. Display its single string parameter next to the WATCHOUT logo, when shown on screen.

standBy
Enter/exit standby mode. In standby, the display and sound is muted, or media on standby layers – if

any – is performed . This mode can be entered/exited smoothly, by specifying a fade rate.

standBy true 1000

Fade out sound and image over one second and enter standby mode. If any standby layer is available, its media is performed instead.

ParameterDescription

<bool>

Enter standby if true, exit if false.

[<uint>]

Fade rate, in milliseconds. Defaults to zero if not specified.

getStatus
Get the current status of the WATCHOUT cluster conductor.

getStatusReply "WO2Launch" false 0 true true false 122 true

Responds with a Reply with the following parameters:

Reply Parameter

Description

<string>

Name of the show. Empty string if no show loaded.

<bool>

Busy. True if the conductor display computer or its performers are busy

<uint>

General health status of the cluster; 0: OK, 1: Suboptimal, 2: Problems, 3: Dead.

<bool>

Display is open (in its full screen mode).

<bool>

Show is active (ready to run).

<bool>

Programmer is on line.

<uint>

Current time position, in milliseconds (only included if show is active).

<bool>

Show is playing – false if paused (only included if show is active).

[<float>]

Timeline rate (nominally 1, only included if show is active).

<bool>

Standby mode (true if in standby, only included if show is active).

delay
Wait the number of milliseconds specified by the parameter before performing the next command in the file.

NOTE: Performed only when used in a command file. Applies to display software only.

wait
This command applies to the display software only. Wait for the display cluster to become fully established before proceeding with the next command in the file. Waits at most the number of milliseconds specified by the parameter.

NOTE: Performed only when used in a command file.

setInput
Sets the value of a named input (see “Inputs”).

ParameterDescription

<string>

The name of the input to set.

<float>

The desired value, optionally prefixed by + or - for incremental change.

[<uint>]

Optional transition rate, in milliseconds.

setInput "uno" 0.5

The value is generally in the range 0 through 1, but may be extended to cover a wider range using the Limit setting of the Generic Input .

By prefixing the value with a plus or minus sign, you can adjust the value incrementally relative to its current setting. This example increases the value of the input by 0.1:

setInput "uno" +0.1

A third, optional parameter allows you to specify a transition rate, causing any property controlled by the input to change gradually to the specified target value. This parameter is specified in milliseconds.

NOTE: While you would typically use this command to set the value of a Generic Input, you may use it to set the value for any input. If data is also provided by a MIDI or DMX-512 source, the latest data will take precedence.

setInputs
This command is functionally equivalent to the setInput command above, but allows you to set multiple inputs with a single command. This is useful in the following cases:

  • When it is important that several inputs are set simultaneously, because their values are used in an interdependent way. If you use two separate setInput commands, it is possible that the commands will not be executed on the same frame.
  • When setting a large number of inputs, as it is more efficient to handle this with a single command than a number of separate commands, allowing you to set a larger number of values within a single frame.

The first parameter is the transition rate, in mS. Subsequent data must be provided in groups of two parameters:

ParameterDescription

<string>

The name of the input to set.

<float>

The desired value, optionally prefixed by + or - for incremental change.

setInputs 100 "Yo" 0.8 "Man" 0.5 "Stereo" 0 "Left" 0 "Top" 0.5

Ramps the named inputs to the specified values over 100 mS.

setInputs 0 "Yo" +0.1 "Man" -0.5

Instantly increase the Input named ”Yo” by the value 0.1 and decrease “Man” by 0.5.

serialPort
Applies to display software only. Opens or closes a serial port for protocol commands, setting its parameters.

serialPort true "COM1"
ParameterDescription

<bool>

Open (true) or close (false) the serial port.

<string>

The name of the serial port.

[<uint>]

Protocol selector. Must be 0. Default is 0.

[<uint>]

Data rate, in bits per second. Default is 9600.

[<uint>]

Number of data bits, 7 or 8. Default is 8.

[<uint>]

Number of stop bits, 1 or 2. Default is 1.

[<uint>]

Parity: 0 = none, 1 = odd, 2 = even. Default is none.

HINT: For serial-only control, put the serialPort command into a text file, and use the file based control feature to perform the commands in this file (see “File-based Control”).

timecodeMode
Applies to the display software only. (Use the Timecode options in the Preferences dialog box to use timecode with the production software.)

Controls the LT C timecode receiver of the display computer. The timecode receiver is initially off. When turned on, incoming timecode will control the presentation as if using the run, halt and goto-Time commands. Furthermore, while playing, the presentation will be synchronized to the timecode.

timecodeMode 2 "-1:00:00"
ParameterDescription

<uint>

0 = receiver off, 1 = auto-detect format, 2 = EBU 25 fps, 3 = SMPTE 29.97 NDF, 4 = SMPTE 29.97 DF, 5 = SMPTE 30 (”B&W”), 6 = 24.

[<int> or <string>]

Time offset expressed in milliseconds, or as a string in this format: “HH:MM:SS.FFF”, where FFF is milliseconds. Default is 0.

Avoid using the auto-detect mode whenever possible. Instead, specify the expected timecode format explicitly. Specifically, the SMPTE 30 (”B&W”) format can not be detected automatically.

Use the separate Timecode Tester application to verify proper timecode reception, and to choose the appropriate input connector to use for the timecode signal .

HINT: For stand-alone use of the timecode control feature, put this command into a text file, as described under "File-based Control".

NOTE: Timecode control of the display computer can’t be used while the production software is online. In this case, use the corresponding feature of the production software instead.

hitTest
Get information of the frontmost, visible and interactive media cue that intersects the 2D point given by the two parameters (in stage pixels).

hitTest 1200 250Reply true "Image01" 1154 212 0
ParameterDescription

<int>

X-coordinate of the 2D stage point

<int>

Y-coordinate of the 2D stage point

To make a media cue interactive it needs an interaction name specified, which can be done under the advanced tab of the media cue dialog see (see “Advanced Cue Specifications”). The reply message contains, among other things, this interaction name, if an interactive media cue was hit.

Reply ParameterDescription

<bool>

True if an interactive media cue was hit

[<string>]

Interaction name (if hit)

[<float>]

X-coordinate position of media cue (if hit)

[<float>]

Y-coordinate position of media cue (if hit)

[<float>]

Z-coordinate position of media cue (if hit)

Back to top