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:7447

Run 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:4455

Tools → 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/events

Run 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.

What has been proven. Rheocles has been through a real take: paired from the rig, the built-in microphone armed from its row, the cue from the countdown, a 74-second read to 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.