Calling a show from a laptop
Most stage managers learn to call cues from a paper prompt book, a pencil and a headset. Moving that book onto a screen changes less than people fear and more than they expect: the timing stays the same, but the book can now talk to sound, lighting and video directly.1 This guide covers what changes, what doesn't, and the shortcuts worth learning on day one.
Press Space to fire the next cue, Shift+Space to fire it without advancing the playhead, and Esc to stop everything. The cue list is saved as show.cues.json next to the prompt book, and every change is synced to the other operators within a second. SM, DSM and ASM each get their own view.
Before the first rehearsal
Set the book up the way you would a paper one: script on the left, cues on the right, standby lines a page ahead of the GO. Then work through this list:
- Import the script as a PDF or plain text.
- Create one cue list per department:
- Lighting (LX), numbered by the board operator
- Sound (SQ), with playback cues and mic scenes
- Playback: one cue per file
- Scenes: one cue per mic snapshot
- Video and automation
- Agree the standby wording with every operator before tech.
A paper habit worth keeping: write the cue number and the visual or line it hangs off. If the network goes down, the book still has to be readable.2
The book is the show. If it is not in the book, it did not happen.
— A production stage manager, on the first day of tech
Note
Cue numbers are text, not numbers: 12.5 and 12A both sort after 12.
Tip
Colour each department's standby line the same as its operator's cue light, so a glance tells you who is waiting.
Important
Back up the book before every performance. The sync is not a backup.
Warning
Renumbering cues during a run renumbers them for every operator at once.
Caution
Never fire automation cues from a laptop running on battery saver: the network card sleeps.
Cue types at a glance
- Standby
- A warning to an operator that a cue is coming. Always acknowledged.
- GO
- The command that fires a cue. Said once, on the beat.
- Follow
- A cue that fires itself after the previous one, with a delay in seconds.
Timing by department
Fade times from the last production week. The table has no wrapper: it scrolls sideways on its own when the cells can't wrap any further.
| Cue | Department | Trigger | Fade (s) | Follow (s) | Operator | Notes |
|---|---|---|---|---|---|---|
| LX 12 | Lighting | "Into the woods" | 3.0 | — | Board 1 | Preheat specials |
| SQ 4 | Sound | Visual: door opens | 0.5 | 2.0 | A1 | Wind loop |
| VID 2 | Video | With LX 12 | 1.5 | — | Media server | Forest projection, layer 3 |
| FLY 7 | Automation | "Look, the moon" | 8.0 | — | Flys | Moon in, deadhead 2 |
The same data in a .table-wrap, the form to use when the renderer can add one:
| Operator | Cues | Standbys |
|---|---|---|
| Board 1 | LX 1–48 | 31 |
| A1 | SQ 1–22 | 18 |
The prompt desk
Firing cues from code
The desk exposes a small API. This block was highlighted by Prism (.token.* classes):
// Fire a cue and wait for every department to confirm.
import { connect } from "@cuelab/desk";
const desk = await connect({ show: "into-the-woods", retries: 3 });
export async function go(cue, { dryRun = false } = {}) {
if (!desk.has(cue)) throw new RangeError(`No cue ${cue}`);
return desk.fire(cue, { dryRun, timeout: 1500 });
}
And a footnote-free paragraph before the end, with a link to the code palette and struck and inserted text.
What if the network drops mid-show?
Every operator's laptop keeps a full copy of the book. Cues still fire locally; the sync catches up when the network returns.
Questions about this guide go to the production office.