Control tokens
A token is written inline where it should happen. It renders as a chip, is never spoken, never counts toward scroll speed, and fires the moment it crosses the eyeline.
Anatomy
The body splits on its first colon, so OBS::record:start is the verb record with the argument start. The target is matched without case; the argument keeps whatever case you gave it.
What it looks like on the glass
You author the token as text. The prompter renders it as a chip, tinted by which system it drives, so a pause coming up is visible well before you reach it.
MARKER · CHAPTER · DURATION VOTE OBS · SCENE · FULL-SCREEN This week's top story: the season's first ballots are open, and the counts are lopsided. PROMPTER · PAUSE · 600MS Voting closes on the 31st.
See you next week. PROMPTER · PAUSE · 2S OBS · RECORD · STOP PROMPTER · STOP
Reference
Grouped by what each target drives, which is also how the dispatcher routes them.
Prompter
The scroll itself.
<|Prompter::Pause|>PROMPTER · PAUSE- Holds until you press play, or until you read on with follow mode enabled.
<|Prompter::Pause: code demo|>PROMPTER · PAUSE · CODE DEMO- The same hold, with a label on the chip so you know why you stopped.
<|Prompter::Pause: 600ms|>PROMPTER · PAUSE · 600MS- A timed beat. Resumes itself. Accepts ms or s.
<|Prompter::stop|>PROMPTER · STOP- End of show. Latches — nothing restarts the scroll but a deliberate play.
<|Prompter::rollback: script-start|>PROMPTER · ROLLBACK · SCRIPT-START- Rides back to the top and lets the script run again. Refused after a stop.
OBS
The recording, when a socket is there to drive.
<|OBS::record:start|>OBS · RECORD · START- Starts recording. Not needed in a cold open, which rolls by itself.
<|OBS::record:stop|>OBS · RECORD · STOP- Stops recording and ends the take, whether or not OBS is connected.
<|OBS::scene: full-cam|>OBS · SCENE · FULL-CAM- Logs a punch-in reference for the edit. Only switches the live scene if armed in the rig.
Marker
Nothing at all, on purpose. It exists to land in the log.
<|Marker::chapter: Quick Hits|>MARKER · CHAPTER · QUICK HITS- A named point in the take.
<|Marker::in: quick-hits|>MARKER · IN · QUICK-HITS- Opens a span. Its partner is any later token sharing the argument.
<|Marker::out: quick-hits|>MARKER · OUT · QUICK-HITS- Closes it. Read the two together and you have a range to cut on.
Slides
A deck listening on the same browser.
<|Slides::goto: 7|>SLIDES · GOTO · 7- Moves the deck off a heading boundary. Also ::next and ::prev.
Timer
The take clock, without the countdown.
<|Timer::start|>TIMER · START- Starts a take clock for a mid-script pickup. Also ::stop.
The Marker target earns a page of its own: it does nothing during the take, and quite a lot afterwards.
Unknown tokens are legal
A token this build has no handler for still renders as a chip and still logs as a cue — it simply does nothing else. That is deliberate: a script written for a newer version records correctly on an older one, and you can invent a marker for your editor without waiting for the prompter to learn about it.
<|Marker::logo-sting|> logs, no handler needed
<|Note::fresh smile here|> a note to yourself, on the glassThe end of a show
The authored sign-off is three tokens in order: a buffer beat in case you are trailing the scroll, then the recording stops, then the scroll latches.
See you next week. <|Prompter::Pause: 2s|> <|OBS::record:stop|> <|Prompter::stop|>Those last two fire in the same pass. The stop cancels the pending beat, so the scroll cannot wake up two seconds after the show ended.
Want to run your next take on this?
PteroPrompter is in early access. Leave an address and we'll be in touch when the first takes ship.