OSC Support in WATCHOUT 7

WATCHOUT 7 provides native Open Sound Control (OSC) support through the Director node, allowing control via modern show control systems, mobile devices, and custom applications.

Connection Methods

WATCHOUT Director listens for OSC commands on two ports:

  • UDP: Standard OSC on port 8000
  • TCP: OSC over TCP on port 8001 (using OSC TCP v1.0 protocol)

Variable Control via OSC

Any OSC message not matching the timeline control patterns can be used to control variables:

  1. For each message, WATCHOUT creates input keys for each argument:

    • Format: osc.addr("ADDRESS/INDEX")
    • Example: For message /fader 0.5 0.7, WATCHOUT creates:
      • osc.addr("/fader/0") with value 0.5
      • osc.addr("/fader/1") with value 0.7
  2. Supported value types:

    • Float: Decimal values (e.g., 0.5)
    • Integer: Whole numbers (automatically converted to float)
  3. To use these values, create variables with matching keys:

    • Variable key: osc.addr("/fader/0")
    • This variable will now receive values from the first argument of /fader messages

Timeline Control Commands

Control timelines using these address patterns:

  • /wo/play/:timelineId - Start playing a timeline
  • /wo/pause/:timelineId - Pause a timeline
  • /wo/stop/:timelineId - Stop a timeline completely
  • /wo/run/:timelineId - Reset and play a timeline

Optional Position Arguments

Timeline commands accept optional time arguments:

  1. Integer value (in milliseconds) to specify a time position
  2. Float value (in seconds) to specify a time position

Cue Points

Target specific cues within timelines:

  • /wo/play/:timelineId/:timelineCueId - Play from specific cue
  • /wo/pause/:timelineId/:timelineCueId - Pause at specific cue
  • /wo/stop/:timelineId/:timelineCueId - Stop at specific cue

Examples

# Play timeline with ID 0 (main timeline)
/wo/play/0

# Play timeline with ID 3
/wo/play/3

# Pause timeline with ID 42
/wo/pause/42

# Stop timeline with ID 42
/wo/stop/42

# Pause timeline with ID 99 at 00:00:01.042 using Integer (milliseconds)
/wo/pause/99 1042

# Pause timeline with ID 99 at 00:00:01.042 using Float (seconds)
/wo/pause/99 1.042

# Pause Timeline 3 at Cue 12
/wo/pause/3/12

Best Practices

For optimal results with OSC control:

  • Use consistent address patterns across your project
  • Test all OSC functionality before live performances
  • Use dedicated networks for show-critical OSC traffic
  • Only use float or integer values in your messages
  • Create a documentation sheet for your OSC implementation

TCP vs UDP Considerations

Both protocols work well under normal network conditions. Choose based on your show's requirements:

  • UDP (port 8000) - Processes messages immediately but might occasionally drop messages during network congestion
  • TCP (port 8001) - Guarantees message delivery but might significantly delay execution during network issues

For most installations, either protocol will work effectively. On challenging networks, you'll need to decide whether lost messages (UDP) or potentially delayed ones (TCP) would be less problematic for your specific application.

By effectively utilizing WATCHOUT 7's OSC capabilities, you can create dynamic, responsive productions that integrate seamlessly with modern control systems.