The rig
Everything describing the machine in front of you is stored on that machine, not on your account. A studio desktop and a travel laptop have different socket addresses, a different distance to the glass, and possibly a different frame rate. Syncing those between them would break a take rather than help.
On the glass
- Eyeline
Drag the handle to put the reading line where the lens is. Double-click resets it.
Tokens fire against this line, so cue timecodes follow it wherever you put it.
- Script size
Between 28 and 68 pixels.
Set by how far you sit from the glass, not by taste.
- Mirror
Flips the script horizontally.
For beam-splitter rigs. It flips the script, never the controls.
- Confidence monitor
OBS's virtual camera, faint and centred on the eyeline. Right-click for size and opacity.
Check framing without breaking eye contact with the lens.
What you plug in
One recorder at a time — Rheocles or OBS, chosen in the rig — and the speech sidecar. All of it is optional, and all of it fails softly. The prompter is designed so a take never depends on any of it being there. Switching recorder is refused while a take is rolling.
Rheocles
http://127.0.0.1:7447Run Rheocles on this machine. In the rig, paste the pairing code from the popover’s settings — Show or Copy — and press Pair. Pairing selects Rheocles; the line under the button says what it found, or why not. Then arm the streams you want recorded, here or in the popover. Nothing records until the cue.
- With it
- Every armed stream as its own file, named before the cue; every cue as a marker in the take’s manifest; the take folder in the cue log. A refresh mid-take adopts the recording rather than ending it.
- Without it
- Cues still log against an internal clock, as with no recorder at all. A refused code, or nothing listening at the address, says so under the Pair button rather than failing at the cue — and leaves the radio where it was.
OBS
ws://127.0.0.1:4455Tools → WebSocket Server Settings, in OBS. Choose OBS under Recorder.
- With it
- Recording control, and cue timecodes pinned to the recording itself.
- Without it
- Cues still log against an internal clock. Every marker is simply offset by one constant.
Sonocles
http://localhost:7357/eventsRun Sonocles on the machine reading the script, then paste its pairing code — Show or Copy, in the popover — into the rig. Every request needs it, the stream included, and the prompter asks Sonocles to listen when you press Follow.
- With it
- Follow mode: the scroll tracks what you actually say, and a pause releases when you read on.
- Without it
- The scroll coasts at your set pace, which is the behaviour you would have had anyway. A wrong code says so in a notice rather than silently following nothing.
Pairing with Rheocles
The code is the daemon's bearer token. A page cannot read the token file the way a native app can, so pasting it once is how a page pairs. It is checked on every connect, so a rotated token shows as unpaired here rather than failing at the cue.
- Paired · Rheocles 0.1.0 · /Users/len/Movies/Rheocles · 30 GB freeThe version, the output root every take lands under, and the space left on that volume.
- Code refused — Show/Copy it in the Rheocles popoverThe daemon answered and said no. A rotated token reads like this until you paste the new one.
- Nothing at 7447 — is Rheocles running?Nothing answered at the address.
Arming
Once paired, the rig lists every stream Rheocles can see — displays, windows, cameras, microphones, system audio — with an Arm toggle on each row. Armed means the device is live and frames are flowing, so the cue starts writing on frames that already exist; nothing is written until then. Armed rows turn ochre and count the frames they have seen, which is how you tell a live camera from one with the lid closed before you press play. The armed set is snapshotted when the take is prepared, so arming a stream re-prepares the take; while a take is rolling the toggles are locked.
With nothing armed the rig says so — Nothing armed — arm a stream here or in Rheocles — because the cue would otherwise have nothing to record.
Record::stop, a complete take on disk, and twenty-six markers in its manifest with the same labels as the CSV. Sonocles is proven paired — the code, the stream, listening on Follow — but not yet through a spoken take. OBS is still covered only by tests against a simulated socket. Treat a first take on either of those two as a rehearsal. Reading the recorder pill
The pill in the header is the recorder's state in four characters. With OBS selected it reads OBS ✓ or OBS; with Rheocles:
- RHEO ✓Paired, at least one stream armed, a take waiting for its cue.
- RHEO ✓ · nothing armedPaired, but the cue would have nothing to record.
- RHEO …Pairing.
- RHEO ✗ unpairedRefused or unreachable. The rig says which.
- ● REC 00:12 · 1 streamRecording, with either recorder. Under Rheocles a dot per stream sits beside it — green while frames are being written, amber when a stream stalls, with a level bar for audio — and a ■ Stop button.
Reading the lock
The dot beside the Follow button is the honest signal. Losing the lock is not a failure — it simply means the scroll is back to running at the pace you set.
- OffFollow mode is not enabled.
- No sidecarNothing is listening at that address.
- CoastingConnected, but the last match has gone stale.
- LockedFollowing your voice through the script.
- HeldA token is holding. Read on to release it.
Keys
- spaceplay or pause
- ↑ ↓reading pace
- ← →previous or next section
- Ffollow mode
- Mcue log
- Ddiagnostics
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.