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:
-
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.5osc.addr("/fader/1")
with value 0.7
- Format:
-
Supported value types:
- Float: Decimal values (e.g., 0.5)
- Integer: Whole numbers (automatically converted to float)
-
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
- Variable key:
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:
- Integer value (in milliseconds) to specify a time position
- 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.