Skip to content
English
  • There are no suggestions because the search field is empty.

Controlling WATCHOUT via TCP or OSC (External Control Protocol)

Controlling WATCHOUT via TCP or OSC (External Control Protocol) Overview


WATCHOUT can be controlled externally by third-party systems (AMX, Crestron, Medialon, QLab, etc.) using a TCP-based text protocol. WATCHOUT 7 also adds native OSC support. This article covers both approaches and the key differences between WO6 and WO7.

WATCHOUT 6: Legacy TCP Protocol

Connection
  • Connect via TCP to the Production PC on port 3039.

  • Send ASCII text commands terminated by a newline character (\r\n).

  • Only one production-level controller should be active at a time.

Common Commands
  • run "TimelineName" — Start a timeline by name.

  • halt "TimelineName" — Pause a timeline.

  • kill "TimelineName" — Stop and reset a timeline.

  • gotoControlCue "TimelineName" "CueName" — Jump to a named control cue.

  • load "ShowName.watch" — Load a different show file.

  • getStatus — Returns current playback status.

Important Notes
  • Commands are sent to the Production PC, which relays them to the display cluster.

  • If using getStatus, the feedback is returned on the same TCP connection.

  • If your control system opens and closes the TCP connection for each command, expect latency. Keep the connection open for best performance.

WATCHOUT 7: Director-Based Control

Key Difference from WO6

In WATCHOUT 7, all external control goes through the Director (not Producer and not directly to Runners). The Director is the central coordination point.

TCP (Legacy Protocol)
  • Connect to the Director on port 3039 (same port as WO6).

  • The legacy command syntax is supported for backward compatibility.

  • run, halt, kill, load all work the same way.

OSC

WATCHOUT 7 supports receiving OSC messages natively:

  • In Producer, enable the OSC Bridge.

  • Map incoming OSC addresses to WATCHOUT variables.

  • Use variables in Play Expressions or to trigger timelines.


OSC messages are sent to the Director's IP on the configured OSC port.

Troubleshooting

Commands sent but nothing happens
  • Verify you are connecting to the correct machine (Production PC for WO6, Director for WO7).

  • Check that the show is online — commands are ignored when the show is offline.

  • Ensure only one controller is connected. Two controllers sending conflicting commands will cause unpredictable behavior.

"Connection Lost" after external control command
  • The control system may be opening/closing the TCP socket too aggressively. Keep the connection persistent.

  • If using a Crestron/AMX, verify the module is configured for a persistent TCP connection on port 3039.

gotoControlCue not working
  • This is a known limitation in some WO6 versions — the cue name must match exactly, including capitalization.

  • In WO7, use Blocks or variable-driven control cues instead of gotoControlCue.

load command not switching shows
  • In WO7, load must be sent to the Director. Sending it directly to a Runner will not work.

  • After load, wait for the show to finish loading before sending run. Poll with getStatus to check readiness.

Last updated: 30 March 2026 · Dataton Support