Automation Data Model

What a show is underneath the Show panel — the structure that lets one cue list recall onto any console.

This is what a show is underneath the Show panel — the structure that lets one cue list recall onto any connected console. Everything here is stored in the project and travels in the bundle. You never edit these objects directly; the Show panel builds them for you. This page is the reference for how they fit together.

The hierarchy

A show is four layers, each a collection of the one below:

Showlist  (the T-list — the running order)
  └─ Showcue   (a cue placed in the list, with timing)
       └─ Cue        (what to change)
            └─ Datacue     (one category of change)
                 └─ Directive  (one address = one value)

Directive — the atom: a single Broadway address set to a single value (input 4 mute = off). Datacue — one category’s worth of directives that fire together (all the routing changes, or all the DCA names). Cue — a set of datacues that make up one recallable moment. Showcue — a cue placed in the running order, wrapped with timing and sequencing. Showlist — the ordered list of showcues; a project can hold several.

Each layer is stored by reference (a UUID pointing at the next), so the same cue can appear in more than one showlist, and editing it once updates it everywhere.

Datacues — what a cue captures

A datacue holds its directives plus a link to a datacue type, and carries its own name, comment, enabled and locked flags. The categories the Show panel captures:

DatacueTagCaptures
RoutingRTGEach tracked input’s routing set
DCADCADCA names, colours and membership
MuteMUTTracked input mutes
FaderLVLLevels
SpatialSPAPanner positions
Alt SourceALTAlternate sources
Scene RecallSCNA console scene recall

A datacue type is the capture recipe behind each category — a named, scoped set of directive definitions (which addresses to read, across which index range) that Version T walks at capture time to build the directives. Because the index ranges (tracked inputs, tracked DCAs, panned inputs) are kept current from your preferences, a capture always covers exactly what you’re tracking now.

Portable versus deferred

Most directives store a finished value — a mute is true or false, a level is a number. Two categories are deferred: they store intent and are resolved to console addresses only at recall, against the current setup.

  • Routing stores, per input, which routing set index it should be on (or −1 for none). At recall, the routing manager turns that into the actual crosspoint writes for whatever console is connected.
  • Spatial stores, per panned input, a mesh index and an (x, y) position in the unit square — not console pan values. At recall, the panner resolves it to the connected console’s panning.
  • DCA membership stores the input pairs per DCA; the DCA manager decomposes them into individual crosspoint toggles at recall.

This is why the same show recalls on any console: the portable parts describe what in Version T’s own terms, and the connection rebuilds the how each time.

A scene recall is not portable

The Scene Recall datacue ([.cues, .go]) fires a scene on the mixer itself by number. It’s a pass-through to that specific console and is venue-specific — it won’t travel to a different desk. Use it when a cue needs to trigger something only the console’s own scene memory holds.

Showcues — timing and sequencing

A showcue wraps one cue and adds:

  • A cue number stored as a decimal, so you can insert point cues between whole ones — 1.0, 1.5, 2.1.
  • Wait time and an auto-follow mode (Manual, Next, or Time) for how the list advances.
  • Recall scope — the safety layer, below.
  • Name, comment, enabled and locked flags, plus created / modified stamps.

Recall safety lives on the showcue

Each showcue carries its own protection, at two grains:

  • Category scope (recallSafe) — a list of whole categories to skip on recall (an empty list means recall everything).
  • Address-level safes (cueSafes) — a set of specific Broadway addresses this cue must never overwrite, the same shape as the app-wide Global Safes.

Global Safes are held once for the whole session; a showcue’s cueSafes add per-cue protection on top. The only difference between them is reach — one cue versus every cue. See Show for setting both from the grid.

Where it’s stored

The whole hierarchy lives in the project’s unified store and is written into the Version T Project Bundle on export — datacues, cues, showcues and showlists together with the routing, panner, ensemble and metering preferences that give the deferred parts their meaning. Import brings back a show that rebuilds itself onto wherever you are.