Adjusting Timing

Precise timing is central to show quality. WATCHOUT uses high-precision internal timing and provides tools to position, trim, and snap cues. This page covers the timing operations; the timing-related cue properties are defined in Adding Media Cues.

How WATCHOUT Represents Time

WATCHOUT stores time values as milliseconds (a 64-bit integer) in the show file. The timeline UI displays time in HH:MM:SS.mmm format (hours, minutes, seconds, and milliseconds).

Internal calculations use nanosecond precision, so loop points and speed-scaled offsets stay accurate over long playback runs.

When scripting via the external API, all time values are sent and received as integer milliseconds.

For image assets, the default duration is 10 seconds (the show-level image duration default). Video and audio assets default to their intrinsic asset duration. Change the show default in Show Settings.

Moving Cues

Dragging a cue's body repositions it along the timeline. This changes its start time without affecting duration or In Time.

  1. Select one or more cues.
  2. Click and drag the cue body left or right.
  3. Release at the desired position. Snapping guides appear when the cue aligns with nearby targets (see Snapping).

To move a cue to an exact time, select it and type the desired start value in the Properties panel.

Hold Shift while dragging to temporarily disable snapping for fine free-placement.

Trimming Duration

Drag the left or right edge of a cue to change its duration. The edges behave differently:

  • Right edge: changes duration. The cue's start time and In Time stay fixed.
  • Left edge: changes start, duration, and In Time together, so the visible playback region shifts without moving the cue's right boundary.

Trim and Reset Commands

For precise operations, use the timeline right-click menu:

CommandEffect
Trim StartMoves the cue start to the playhead, adjusting In Time and duration
Trim EndMoves the cue end to the playhead, adjusting duration
Reset DurationRestores the cue to its original asset duration (or show default for images)
Reset In-TimeSets In Time back to 0, so playback begins at the start of the asset

These commands are especially useful after rehearsal changes when multiple cues need to be normalized quickly.

These cue properties affect timing. Each is defined in Adding Media Cues:

  • In Time — where inside the source asset playback begins. Drag the cue's left edge to change it (see Trimming Duration above).
  • Playback Speed — scales the playback rate (25 to 400 percent).
  • Auto-Adjust Duration — whether duration follows the asset or the speed.
  • Looping — repeats a region of the source media.
  • Free-Running Mode — plays from the system clock instead of the timeline transport.
  • Fades — ramp opacity or volume at the cue's start and end.

How Playback Position Is Calculated

Understanding how WATCHOUT determines the current playback frame helps when debugging timing mismatches or building complex loop structures.

For a standard cue, the media playback position at any point during playback is:

  1. Take the current timeline position.
  2. Subtract the cue's start time to get how far into the cue you are.
  3. Add the In Time to skip into the asset.

For example, if the timeline is at 15 seconds, the cue starts at 10 seconds, and In Time is 3 seconds, then WATCHOUT plays from the 8-second mark in the source media (15 - 10 + 3 = 8).

For looping cues, the playback position wraps around: once it reaches the loop end point, it resets to the loop start point and repeats. WATCHOUT performs this wrap with high precision to avoid drift over long loops.

For free-running cues, the playback position is based on wall-clock time rather than the timeline position. This means the media continues advancing even when the timeline is paused. See Free-Running Mode.

Snapping

Snapping aligns cue edges and positions to meaningful reference points, preventing small timing gaps that are invisible in the editor but audible or visible during playback.

How Snapping Works

The timeline uses a 6-pixel threshold. When a dragged point comes within 6 pixels of a snap target, the cue locks to that target. Snap targets are:

  • Cue edges — start and end edges of other cues on the same layer or an adjacent layer (one above or below).
  • Playhead — the current play cursor position.

Disabling Snapping

  • Hold Shift while dragging to bypass snapping.
  • Disable snapping globally with the Edit Snapping setting in preferences.