Triggers
Fire cues from OSC, MIDI, HTTP, or other cues — the per-cue Triggers section, trigger families, and their honest statuses.
Triggers are how the outside world — and the rest of your show — fires cues in CueForge. Every cue editor has a Triggers section with one job: “Add one to fire this cue from OSC, MIDI, HTTP, or another cue.”
Two other surfaces to know
- Control Mapping window — where you author and edit mappings that listen for incoming OSC, MIDI, and HTTP input, and map hardware controllers to show actions. See Control Mapping and the Trigger Inbox.
- Trigger Inbox — where unassigned incoming input waits for triage (Approve / Test / Ignore / Reject / Locate). Also a Show Mode panel.
The per-cue Triggers section on this page is the outgoing half: it defines what must arrive for this cue to fire.
Trigger families and their status
| Family | Status | What it does |
|---|---|---|
| Internal Cue | Available — verified | Fires this cue when another cue reaches a marker, via a flow action such as Jump To Cue or Jump To Marker |
| OSC | Available — verified | Fires this cue when a matching OSC message arrives |
| MIDI | Available — verified | Fires this cue on a matching Note On/Off, Control Change, or Program Change |
| HTTP | Available — verified | Fires this cue when a request matches the configured method and path |
| grandMA3 | Early access | Send workflows toward MA3 — see the grandMA3 guide |
| QLab | Early access | Send workflows toward QLab — see the QLab guide |
| Resolume | Early access | Send workflows toward Resolume — see the Resolume guide |
| Timecode | Internal and external input | Deliberately armed cue crossings; reception alone does not fire cues — see Timecode |
The core families — Internal Cue, OSC, MIDI, HTTP — were verified in the real application against real software senders, with exactly-once execution: a trigger fires its action once, no duplicates.
The grandMA3, QLab, and Resolume send workflows are in early access: designed to send, but not yet validated against every real target. Verify against your specific software version before showtime.
Cue actions a trigger can perform
A trigger does not only mean GO. Cue actions include Go, Stop, Pause, Resume, Restart, and Arm, and global show actions include GO, Stop All, Panic, Pause, Resume, Next/Previous Cue, Take Next, and Restart Show (authored in Control Mapping).
Behaviour that surprises people
- note_on vs note_off — MIDI note-on and note-off are distinct controls. A mapping on note-on fires once per press; the release does not re-fire it.
- HTTP always returns 200 — the built-in HTTP listener always answers 200 and matches on method + path only. Body content is not part of matching.
- First mapping wins — if two mappings could match the same incoming source, the first one wins; the second is ignored for that input.
- Rate limiting — input above 100 triggers per second is queued and throttled, so a storm of messages cannot overwhelm the show.
- Feedback loops — CueForge suppresses mappings that would loop output back into input (for example, a cue whose OSC output triggers itself). Feedback-loop risk is also flagged in preflight.
Authoring a trigger on a cue
- Select the cue and open its Triggers section.
- Click to add a trigger and choose the family (OSC, MIDI, HTTP, or Internal Cue).
- Configure the match: OSC host/port/address, MIDI message type/channel/data, or HTTP method/path.
- Choose the cue action (Go, Stop, Pause, Resume, Restart, Arm).
- Save.
To test an outgoing OSC/MIDI/HTTP cue’s message without running the show, use the test button in that cue’s editor — Test Send in the OSC and MIDI editors, Test Request in the HTTP editor. Trigger Inbox proposals can be Tested the same way before approval.
Note: Triggers from markers use the flow action Jump To Marker: a marker on one Audio cue can fire another cue at exactly that musical moment. Author the trigger from the firing cue’s Triggers section or the Control Mapping window.
OSC trigger configuration
An OSC trigger on a cue showing host, port, address, and the Test Send button.
cf-osc-trigger-config-ui
Placeholder