Endless Cues v0.1

DocsGetting started

How Endless Cues works

The short version, for someone who has run a show from a cue list before. If you know QLab, most of this page will be familiar, and that is on purpose.

Standing by

This describes v0.1, which is not out yet. The full specs live in the repository and will be linked from here when it is public.

How it works

GO and the playhead

A show is a list of cues. One of them is standing by: the playhead is on it, and its number, name and notes are shown beside the GO button. Press GO and that cue fires and the playhead moves to the next one. That is the whole loop. Everything else is detail about what a cue does when it fires.

Moving the playhead does not fire anything. You can put it on any cue with the arrow keys, by clicking, or by number.

Cues that target cues

Some cues make something happen themselves: an Audio cue plays a file, a Network cue sends an OSC message, a Light cue fires a cue on the lighting desk. Others act on a cue that is already there. A Fade changes the level of the Audio cue it targets. Stop, Pause, Start, Load, Devamp, Arm and Disarm each point at another cue and do that one thing to it.

So “rain out” is not a property of the rain. It is a Fade cue further down the list whose target is the rain, set to stop it when it gets there.

Groups

A Group holds other cues and fires them together on one GO. Each cue inside can have its own pre-wait, so one press can bring the rain in now and a bell two seconds later, and tell the lighting desk.

  • A group with fade & stop others is a scene change. Everything that was playing fades out as the group starts.
  • A group can wait for the music: set it to fire on the beat or on the bar of the track that is playing.

Waits and continues

Every cue has a pre-wait (the delay between the GO and its action) and a post-wait. A cue set to auto-continue fires the next cue when it starts. A cue set to auto-follow fires the next cue when it finishes. With those you can chain a sequence under one GO without putting it in a group.

When it goes wrong

  • Panic (Esc) fades everything out. Press it again and everything stops dead.
  • A second GO straight after the first is ignored (0.3 seconds by default), so a bounced key does not skip a cue.
  • A disarmed cue stays in the list, and the GO skips it.
  • Show mode locks editing for the performance.

Keyboard

On Windows and Linux, Ctrl takes the place of ⌘. The single-letter keys work whenever you are not typing in a field.

Running the show

KeyDoes
SpaceGO
EscPanic: fade everything out. Again: stop dead.
↑ ↓Move the playhead
[ ]Pause all, resume all
PPause the selected cue
SStop the selected cue
VAudition the selected cue
⇧⌘MShow mode on and off

Building the show

KeyDoes
Q or EnterRename the selected cue
NChange its number
DArm or disarm it
⌘DDuplicate
⌘GGroup the selected cues
⌘Z ⇧⌘ZUndo, redo
⌘SSave a version
⌘JOpen the assistant
⌘,Settings

OSC control

Switch on the OSC control module and the app listens for OSC over UDP on port 53000. The addresses are a subset of QLab’s, so a Bitfocus Companion page, a Stream Deck or a desk macro that was set up for QLab will work without changes. {number} is a cue number as it appears in the list, such as 12 or LQ4.

AddressDoes
/goGO
/panicPanic. Twice: stop dead.
/stopStop everything now
/resetStop everything and put the playhead at the top
/pausePause everything
/resumeResume everything
/playhead/nextPlayhead to the next cue
/playhead/previousPlayhead to the previous cue
/playhead/{number}Playhead to that cue
/go/{number}Playhead to that cue, then GO
/cue/{number}/startFire that cue without moving the playhead
/cue/{number}/stopStop that cue
/cue/{number}/pausePause that cue
/cue/{number}/resumeResume that cue

Two other modules use the network. Lighting desk sends from the app to an ETC Eos-family desk when a Light cue fires, and shows whether the desk is answering. Web remote serves the cue list and a GO button to any browser on the show network. Both are off until you switch them on for a show.

The show folder

A show is a folder whose name ends in .ecshow. You can copy it, zip it, or keep it in git.

MyShow.ecshow/
show.jsonthe show: cue lists, buses, settings, which modules are on
media/the sound files. A cue refers to its file by a path relative to the folder.
versions/the versions you saved, each a whole copy of the show as it was

show.json

Plain JSON, pretty-printed with two spaces, keys always in the same order. It is written to be read and to be diffed: change one level and one line changes. Every edit you make in the app is written to it as you make it.

You can edit it by hand. If the app finds something in it that it does not understand, it tells you what it left out. It does not refuse the file.

Versions

Save version (⌘S) makes a named checkpoint. Any version can be compared with the show as it is now, and the difference is listed in words: cues added, removed and moved, and each changed field with its old and new value. Restoring a version is an edit like any other, so undo takes you back.

When you accept a change from the assistant, a version is saved before it and after it.

More

The landing page says what is not built yet. To hear when the first build is out, get notified.