Sync project to external timecode
sync_timecodeSync the TouchDesigner timeline to an external SMPTE, MTC, LTC, or OSC timecode source by building the input and normalization chain and optionally driving project.frame from the timecode each cook.
Instructions
Wire an external SMPTE/MTC/LTC/OSC timecode source into the TouchDesigner timeline. Creates the input op + Math CHOP normaliser + Null CHOP 'tc_out' (channels 'frame' and 'seconds'); optionally adds an Execute DAT that writes project.frame = tc_out['frame'] each cook so the timeline follows house clock. Requires the project to be playing — paused TD will not advance. LTC has no native TD decoder; the tool surfaces a warning and creates the audio input so the artist can attach an external decoder. MTC operator availability is build-dependent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Reference frame-rate for SMPTE→frame conversion (24/25/29.97/30). | |
| host | No | (osc) Bind interface; ignored for mtc/ltc. Defaults to '0.0.0.0'. | |
| name | No | Name prefix for the timecode subsystem COMP (defaults to 'tc_in1'). | |
| port | No | (osc) UDP port (default 7000) or (mtc/ltc) device index (default 0). The device picker can hang on a macOS permission modal — keep the default unless you know the device. | |
| parent | No | COMP to host the timecode subsystem in. | /project1 |
| source | Yes | Timecode transport: 'mtc' = MIDI Time Code (MIDI In), 'ltc' = Linear Time Code from audio (no native TD decoder — surfaces a warning), 'osc' = OSC In CHOP listening on host:port. | |
| osc_address | No | (osc) OSC address pattern carrying the timecode payload. Defaults to '/timecode'. | |
| cue_on_label | No | (osc) If the payload is a string matching a project cue name, call project.cue(name) instead of seeking. | |
| drive_timeline | No | When true, an Execute DAT writes project.frame = tc_out['frame'] each cook. Requires the project to be playing — paused TD will not advance. |