Skip to main content

Timecode

phix can synchronize cue execution to external timecode, enabling precise timing for theatrical shows, broadcast, and live events where lighting must follow a fixed timeline.

Supported timecode sources#

SourceDescription
InternalFree-running internal clock (for testing)
MTCMIDI Timecode โ€” received over a MIDI port
LTCLinear Timecode โ€” received from an audio input
ArtNetArtNet Timecode โ€” received over the network

Enabling timecode#

timecode enabletimecode disable

Configuring the source#

tc source internaltc source mtctc source ltctc source artnet

Frame rate#

tc fps 25     -- 25 fps (PAL)tc fps 30     -- 30 fps (NTSC)tc fps 24     -- 24 fps (film)tc fps 30d    -- 30 fps drop-frame

Timecode offset#

Shift the timecode reference if your show starts at a non-zero time or you need to align offsets:

tc offset 01:00:00:00    -- shift timecode by 1 hour

Creating timecode triggers#

Timecode triggers fire a phix command at a specific timecode position.

tc trigger add 00:01:30:00 "go 1"tc trigger add 00:02:45:12 "go 2"tc trigger add 00:05:00:00 "release 1"

Syntax:

tc trigger add <HH:MM:SS:FF> "<command>"

Where HH:MM:SS:FF is hours:minutes:seconds:frames.

Listing triggers#

list timecode

Removing triggers#

tc trigger remove 0    -- remove trigger at index 0tc trigger clear       -- remove all triggers

Example โ€” theater show#

A typical theater setup with MTC from an audio workstation:

timecode enabletc source mtctc fps 25
tc trigger add 00:00:10:00 "go 1"    -- blackout lift at 10 secondstc trigger add 00:00:30:00 "go 2"    -- scene 1 looktc trigger add 00:02:15:00 "go 3"    -- transition

When the timecode reaches each position, phix automatically fires the command.

tip

It's good practice to add a small buffer (a few frames) before your intended hit point to account for transport latency.