LTCast LTCast
/ Per-song trigger lists
Manual β€Ί Per-song trigger lists

Per-song trigger lists

LTCast keeps triggers separated by song. A trigger you create for Song 1 will never fire during Song 2 or Song 3. This mirrors the way lighting desks and media servers organize cue lists per number β€” each song is its own self-contained show file fragment.

Viewing and editing a song's triggers

To see a song's trigger list, first make the song active by clicking it in the setlist. Then open the Triggers tab in the right panel. The list shows all triggers for that song sorted by timecode from earliest to latest.

To add a trigger, click Add Trigger at the bottom of the list. Fill in the label, timecode, type, and parameters in the editor that appears. Click Save to add the trigger to the list. To edit an existing trigger, click anywhere on its row to open the editor.

Importing triggers from markers

If the song already has cue markers on the waveform, you can convert them into triggers automatically. Click From markers at the top of the Triggers tab. LTCast creates one trigger for each marker, using the marker's timecode as the trigger position and the marker's label as the trigger label. Imported triggers respect the song's own start timecode, and they inherit the output type currently set in the add form rather than always being MIDI notes β€” so pick the type you want before importing. An OSC address with a numbered placeholder counts up across the batch.

Importing from markers creates new triggers β€” it does not overwrite or remove triggers that already exist in the list. If you import twice, you will have duplicate triggers at the same timecodes. Check the list after importing and remove duplicates if needed.

Working with the list

  • Selecting β€” click a row to select it, Shift-click for a range, Ctrl / Cmd-click to add or remove one. Ctrl+A selects the whole list.
  • Batch bar β€” with rows selected, the bar above the list changes the output type, the OSC address, or shifts the timing of every selected trigger at once; the same actions sit on the right-click menu. Editing a field in the list changes that one trigger, editing in the bar changes all of them, and each batch edit is a single undo.
  • Copy, paste, duplicate β€” Ctrl+C, Ctrl+V, Ctrl+D. A paste lands on the playhead and keeps the original spacing; with the transport stopped it lands on the song's own start rather than at 00:00:00:00, so a paste cannot arrive outside the song.
  • Filter by protocol β€” when a song holds both MIDI and OSC triggers, a filter appears (all / MIDI / OSC). The list itself stays one list, because a show fires in timecode order.
  • Editing text β€” a single click selects the row; double-click a text field to edit it.

Changing a song's start timecode asks whether its triggers should move with it. Correcting a mistyped start and rebasing a show onto another hour want opposite answers, and the number you typed cannot tell them apart.

Trigger output is global, not per-song

All songs share a single MIDI output port for triggers, set in Settings β†’ Outputs beside the OSC targets. You cannot assign a different port, channel, or device to individual songs. If you need to route different songs to different MIDI devices, use a virtual MIDI router (such as loopMIDI on Windows or the IAC Driver on macOS) to split or redirect the output port externally.

When building a setlist, fill in the triggers for each song during pre-production and use test fire during soundcheck to verify all songs before the doors open. Triggers are saved as part of the preset file, so they travel with the setlist when you share or collect the project.

Song switching and trigger state

When you switch to a new song (manually or via auto-advance), LTCast immediately swaps the active trigger list. Any trigger from the previous song that did not fire is discarded β€” it will not fire on the next song. Triggers from the new song's list become active as soon as the song loads and playback begins.