LTC Bridge
The LTC Bridge is a per-node service that decodes Linear Time Code (LTC) from an audio input and uses it to drive WATCHOUT timeline playback. It locks timelines to external broadcast, audio, and timecode infrastructure. The bridge sends a timeline sync message once per second. The Director interpolates between those messages and applies a per-timeline offset, keeping playback aligned to the incoming timecode.
There are two ways to run the LTC Bridge:
- Managed — enabled per node from the Nodes window in Producer. This is the version that runs your show. It chooses which timelines follow the timecode and sends the sync messages to the Director.
- Standalone — the
ltc-bridgeprogram started on its own from the desktop shortcut. It only displays the incoming LTC signal, so you can confirm a signal is arriving and decoding. It does not drive any timelines.
Set up every show with the managed bridge. Use the standalone tool only to check a signal.
Always use the managed LTC bridge for show setup. Enable it from the Nodes window in Producer. The standalone executable is a troubleshooting tool only. It verifies that the LTC signal reaches the node and decodes cleanly, but it does not drive any timelines.
Don't run the standalone LTC bridge while the managed one is active on the same audio device. Both processes try to open the device. On ASIO or WASAPI Exclusive, only one process can hold an exclusive handle. The second one then fails or evicts the first. If you need to inspect what's coming in while the show is running, stop the managed bridge first, run the standalone tool to verify the signal, then restart the managed bridge.
What Is LTC?
Linear Time Code is a SMPTE timecode format encoded as an audio signal. It carries hours, minutes, seconds, and frames (HH:MM:SS:FF) on a continuous audio stream — typically a single dedicated audio channel. LTC is widely used in broadcast, film, and live production to lock multiple systems to a common time reference.
Opening the LTC Bridge Dialog
The LTC Bridge is configured per node from the Nodes window:
- Open the Nodes window.
- Right-click the node where the LTC bridge should run, or open its actions menu.
- Choose LTC Bridge. The configuration dialog opens.
Each node can run its own LTC bridge instance, each with its own audio input and its own list of timelines to drive.
When the LTC bridge is running on a node, its row in the Nodes window shows a small timer icon next to the other service icons (Asset Manager, Director, Runner, etc.). Use this as a quick check that the managed bridge is active on a node without opening its dialog.
Enabling the Bridge
The dialog's heart icon (top-left of the Device Settings section) starts and stops the bridge on that node. Configure the device first while the bridge is stopped. Most configuration fields are disabled while the bridge is running.
Device Settings
The Device Settings section selects what audio input the bridge listens to.
| Field | Behaviour |
|---|---|
| Target Director | The node hosting the Director that should receive timeline sync messages. Defaults to the bridge's own node. The selector follows DHCP changes automatically. |
| Device Type | The audio interface: WASAPI, WASAPI Exclusive, or ASIO. The list reflects what's available on the node. See Audio Devices for the interface trade-offs. |
| Device Name | The physical audio device on the node. An enumeration scan populates the list. Click the heart toggle off and reopen the dialog to refresh. |
| Channel | Which input channel carries the LTC signal (1-based). Most LTC setups use a dedicated mono channel. |
The LTC bridge runs as a separate process from the audio renderer that plays show audio. To share the same physical audio device on a node for both services (show playback in one direction, LTC capture in the other), see Sharing a Card with Audio Input for the supported combinations. ASIO is single-client and cannot be shared. WASAPI and WASAPI Exclusive can.
Signal Information
While the bridge is running and signal is detected, the Signal Information section shows real-time diagnostics. If no signal is reaching the decoder, the section just reads No Signal.
| Field | Meaning |
|---|---|
| Volume | A coloured bar plus a dBFS readout. Green (≥ −14 dBFS) is a healthy LTC level. Orange (−26 to −14 dBFS) is marginal. Red (below −26 dBFS) is too quiet to decode reliably. LTC is bi-phase-mark encoded. Clipping is harmless. Only too-quiet is a problem. |
| Time | The current decoded timecode in HH:MM:SS:FF (or HH:MM:SS;FF with a semicolon when drop-frame is detected). Reads INVALID while the decoder isn't locked. The Producer dialog extrapolates between the 1 Hz status updates from the bridge using a wall-clock anchor. The display ticks smoothly at the source frame rate. |
| Detected framerate | The framerate as encoded in the LTC bitstream itself: 24 FPS (Film), 25 FPS (EBU), 30 FPS NDF, or 29.97 FPS DF. |
| Current framerate | The smoothed measured framerate, in FPS to two decimals. Differs from the detected framerate when the source clock drifts (for example, 29.97 vs. 30, or speed-ramped playback). |
| Speed deviation | The relative difference between the measured framerate and the nominal framerate, as a percentage. Useful for spotting NTSC-vs-true-30 confusion or clock drift. |
Timelines to Lead
The Timelines to Lead section is where you choose which timelines the bridge leads. Each timeline has its own offset in milliseconds.
- Click Add Timelines to open a picker and choose timelines from the show.
- For each timeline, the row shows the timeline name and an offset field (signed, milliseconds). The offset is added to the LTC time as
ltc_time + offsetbefore it's sent to the Director. Use it to advance or delay individual timelines relative to the incoming timecode. - Click the × on a row to stop leading that timeline. The timeline is not deleted. Only the LTC link is removed.
When a timeline is added to the list, the bridge sends a play command on the next valid LTC frame. When removed, it stops syncing that timeline.
Error Metrics
The Error Metrics section shows cumulative counts for six classes of LTC decoding error.
| Counter | Meaning |
|---|---|
| Bi-phase mark | Malformed transitions in the LTC waveform. Usually a signal-quality problem (cable, level, ground loop). |
| Missing frames | Estimated LTC frames that were expected but not received or decoded. |
| Duplicate frame | The same frame number was received more than once. |
| Discontinuity | The timecode jumped instead of advancing by one frame. Normal at the start of a new sequence. Persistent counts indicate a source problem. |
| Invalid frame | A sync word arrived without enough bits since the previous one. |
| Bad BCD digit | A decoded time digit was outside the valid range (for example, a minute value of 60). |
Counters are cumulative for the current bridge session. They don't reset on signal loss. Hovering each label shows a tooltip with the same definition.
How the Bridge Drives WATCHOUT
The bridge talks directly to the target Director over HTTP.
- State changes. When LTC starts, stops, or a new sequence begins, the bridge sends a play or pause command per led timeline to the Director's
/v0/playendpoint. If the LTC signal goes silent or invalid for longer than ~100 ms, the led timelines are paused. - Continuous sync. While LTC is locked, the bridge sends a timeline sync message every second to
/v0/timelinesync. Each message carries the current LTC time (plus the per-timeline offset), a wall-clock anchor for interpolation, and the measured time dilation. Time dilation is the median ratio of frame time to system time. It reads 1.0 nominally and deviates when the source clock drifts. The Director applies the sync to the timeline, keeping playback locked to the timecode even when clocks drift. - Per-timeline offset. Each led timeline gets its own signed offset in milliseconds. The Director sees
ltc_time + offsetfor that timeline. Different timelines can run with different leads or lags from the same timecode source.
The Producer dialog and the bridge process share the same wall-clock reference. The on-screen timecode interpolates smoothly between status packets.
Director Mismatch
The bridge's Director can differ from the show's current Director. This is useful when running a stand-alone LTC service against a show on another node. When the two differ, Producer raises log message M80040, because log routing goes via the bridge's Director, not the show's. Either point the bridge at the show's Director, or accept that bridge-side logs will be filed under a different Director in the activity feed.
Use Cases
- Theme park rides — A single timecode source drives the ride mechanics, an external audio playback system, and WATCHOUT projection or LED content. Every guest experience starts at the same point on every cycle and stays locked through the ride: an animatronic, a sound effect, and a projected scene all hit on the same frame.
- Shows with pyrotechnics — A SMPTE generator (often the show's audio playback rig) sends LTC to the pyro firing system and to WATCHOUT. Visual cues and pyro hits line up to the frame, and a single show-stop on the audio system pauses both WATCHOUT and the pyro queue at the same instant.
- Front-of-house audio + screens — The audio mixing console (or playback laptop) carries the show's timecode and WATCHOUT follows. Stops, jumps, and rehearsal loops on the audio side automatically take WATCHOUT with them.
- Broadcast synchronization — Lock WATCHOUT playback to the timecode from a broadcast facility's timecode generator. On-screen graphics then line up with the program feed.
- Multi-system sync — Synchronize WATCHOUT with other media servers, lighting consoles, or audio systems that share a common SMPTE timecode source.
- Pre-recorded show playback — Play a show in sync with a pre-recorded audio track that carries LTC on one channel.
Running the Standalone Bridge for Troubleshooting
The WATCHOUT installer places a WATCHOUT LTC Bridge shortcut on the desktop of every node that has the LTC Bridge component installed. The shortcut launches bin\ltc-bridge.exe from the installation directory and opens a small standalone window that lets you pick an audio interface, device, and channel and watch the decoded timecode and error counters live.
Use it only as a diagnostic — to confirm an LTC signal is reaching the node, decoding cleanly, and arriving on the channel you expect. It does not connect to Producer or the Director and does not drive any timelines.
To launch:
- On the node that receives the LTC signal, double-click WATCHOUT LTC Bridge on the desktop. If the shortcut is missing, run
bin\ltc-bridge.exedirectly from the WATCHOUT installation folder. - In the window that opens, pick the Device Type, Device Name, and Channel that match the cabling on that node.
- Read the live volume, timecode, framerate, and error counters the same way you would in the Producer dialog.
- Close the window when you are done. Leaving it open holds the audio device and conflicts with the managed bridge. See the warning at the top of this page.
Troubleshooting
For LTC signal, sync, and audio-device-conflict problems, see Timecode (LTC) Issues.
Related
- Nodes Window — where the LTC bridge is started.
- Audio Devices — the audio interface model (WASAPI / WASAPI Exclusive / ASIO).
- Sharing a Card with Audio Input — combining LTC capture with audio playout on the same hardware.
- Variables and Inputs — for non-LTC external timecode or control sources.