Version T

User Guide

For iPad and Mac

5 September 2026

John Taylor Audio Professionals Pty Ltd · jtap.com.au

Contents

Getting Started

Interface

Panels

Reference

Getting Started

Introduction

What Version T is, who it's for, and the two roles it plays alongside the console you already own.

Version T turns your mixing console into a theatre instrument. It sits alongside the desk you already own and adds the workflows a musical demands — fast routing changes, spatial panning, automatic chorus levelling, and show-driven cue control — without asking you to relearn your console or abandon it mid-run.

It is built for everyone involved in the show — the designer who sets the system up before opening, the operator at the desk night after night, and the stage hand keeping it all moving. If you work in live theatre, Version T is meant to disappear into how you already work.

The Version T Hub on iPad — six panel buttons (Overview, Show, Routing, Spatial, Ensemble and Project) plus Settings, with the connection and transport controls in the dock below

Two roles: expanded control, and a portable show

Version T works with your console in two roles.

One — it expands the console into panels you can work in. Version T reads the desk’s live parameters and brings them into purpose-built screens. Some simply mirror the console; most go further, letting you interact with those parameters in ways the console’s own hardware often can’t — reading and writing the live desk in real time. Think of it as control surfaces the console never had.

Two — it builds a show that isn’t tied to one desk. Version T captures the show as console-agnostic parameter sets: what should change, described in Version T’s own terms rather than one console’s snapshot format. Your preferences — which channels are tracked and how they map — are the bridge that lets the same show recall onto any console Version T connects to. Build the show once, and run it on whatever desk you’re patched into.

In short: role one gives you control the console lacks; role two gives you a show the console can’t hold on its own.

What’s inside

Everything is reached from the Hub, the home screen you land on once you connect. Six panels cover the show:

Each panel shares the same frame: the Hub button and title up top, the panel’s own controls, and a persistent dock along the bottom for connection, scene and transport. Learn the shell once and every panel feels familiar.

Works with your console

Version T speaks to your console over its native network. When it starts, it searches for every compatible device on the network at once — Allen & Heath dLive, Behringer WING and more — and shows them in a single list. Pick one, tap connect, and you are in. If you have connected before, it reconnects to your last desk automatically.

Using this manual

The manual follows the app. Getting Started gets you installed and connected. Interface covers the Hub, the dock and the shared panel layout — the furniture every screen is built on. Panels documents each feature screen in turn. Reference collects the technical detail — data models and control addresses — for when you need to go deeper.

If you are new, read Getting Started and Interface first, then dip into whichever panel you are setting up.

Getting Started

Installation & First Launch

What you need to run Version T, how to install it, and how to connect — to a live console, a software console, or offline in Author Mode.

Before you start

Version T runs on iPad and on Mac, and connects to your console over the network. This page covers the iPad; for the Mac build see On Mac (Catalyst). On iPad you’ll need:

LineOldest supportedYearChip
iPad8th gen2020A12
iPad Air3rd gen2019A12
iPad mini5th gen2019A12
iPad Pro 11”1st gen2018A12X
iPad Pro 12.9”3rd gen2018A12X

For large systems: live metering across 128+ channels is demanding. An M1 iPad or later gives the smoothest performance. A12-class iPads meet the floor and run fine, but work hardest on big channel counts.

Installing Version T

Version T is coming to the App Store, pending Apple review. Once it’s listed, installing is the same as any other app: on your iPad, open the App Store, search for Version T, and tap Get. Updates then arrive automatically through the App Store.

The first time you open the app, iPadOS may ask for Local Network permission. Version T needs this to find consoles on your network, so allow it — without it, discovery can’t see your console.

First launch: choosing how to connect

Open Version T and you land on the connection screen — the theatre masks, the name Version T, and the line “Firmware for that missing feature,” above the connections available to you. They fall into two groups: online connections to a live console, and offline editing.

Online connections

An online connection is a live, two-way link: Version T mirrors the target in real time and writes changes straight to it. There are three ways to reach one.

Consoles found through discovery. Version T scans the network and lists every compatible console it finds — each with a protocol badge, its IP address, and a detail line (firmware or server version). Supported consoles:

ManufacturerConsolesBadge
Allen & HeathdLive MixRackAH-BIN
BehringerWING — Fullsize, Compact, RackWING
Behringer / MidasX32 family, M32 familyOSC32

dLive Director. Allen & Heath’s software console, running on a machine on your network — or on localhost, the same machine as Version T. Connect to it by its IP address (badge AH-BIN).

Virtual32. An X32 / M32 console emulator that hosts the full parameter set — around 30,000 parameters. Run it on a machine and connect to build or rehearse a show against a realistic X32/M32 with no hardware in the room (badge OSC32).

Offline connection

Author Mode. The green AUTHOR entry doesn’t connect to anything. It opens Version T as an offline editor so you can build and edit a show with no console on hand, then pick up where you left off the next time you connect.

Connecting

Tap an entry to select it — a green outline marks your choice — then tap the green Connect tick below the list. For an online connection the status moves from “Connecting…” to “Loading system config…” as Version T reads the console’s channel and mix layout, and then you land on the Hub. If only one console is found, Version T selects it for you.

Coming back. Once you’ve connected, Version T remembers the target and tries to reconnect automatically on the next launch — about ten seconds before it falls back to the list — so on a show day you usually open the app and you’re straight back in.

Getting Started

On Mac (Catalyst)

Version T on Mac — one window for the Hub and the connection list, panels as separate windows, and how each one sizes.

Version T runs on Mac as well as iPad, through Mac Catalyst — the same app, the same project, the same console connections. Almost everything works exactly as it does on iPad; this page collects the differences worth knowing.

The main window is the Hub and the connection list in one

On iPad, Discovery (choosing a console) and the Hub (launching panels) are separate screens. On Mac they’re the same window: the panel launcher — Overview, Routing, Spatial, Ensemble, Show, Project, Settings — sits above the connection list (Author Mode, and any console such as dLive Director), with a Disconnect button and the App-settings gear. Connect and launch from one place; the discovery screen is the hub.

The Version T main window on Mac — the seven panel buttons above the connection list, with Author Mode and a discovered dLive Director, and a Disconnect button below

Panels open as their own windows — as many as you like

Show, Ensemble, Routing Sets, the Spatial Panner and Settings all open at once as separate windows tiled across a Mac desktop, each carrying its own dock

From that window, opening a panel opens it in its own window, and you can open as many windows as you like — including several of the same panel. Show, Ensemble, Routing Sets, the Spatial Panner, even Settings, all open at once and tiled across the screen. Each window is fully live and carries its own dock (connection, transport, macro sets), so you can drive the whole show from a layout of separate panels. Panels are also on the Mac menu bar (the Panels and Window menus), and the dock’s masks widget returns you to the main window rather than swapping the panel in place.

This suits a fixed FOH position where you’ve got the screen space to keep the whole show in view.

Window sizing

How a window sizes depends on the panel:

Three Overview windows at different sizes and views on one Mac desktop, each showing a different set of channels, beside the main Version T window

The Mesh Organizer in a landscape window — the point tools at the left, the mesh on the canvas, and the Points and Links lists down the right

The same Mesh Organizer in a portrait window — the layout reflows so the Points list moves beneath the tools at the left, and the canvas fills the height

Pointer and keyboard

Every tap on iPad is a click on Mac. The drag gestures — riding faders in Overview, moving a source in the Spatial Panner, floating a dock widget — all work with the pointer, and text entry (names, comments, macro commands) uses your hardware keyboard.

Installing on Mac

The Mac build comes from the App Store, the same as the iPad one — and like it, is coming to the App Store pending Apple review. Once it’s listed, open the App Store on your Mac, search for Version T, and install it from there. Updates arrive automatically.

macOS may ask for Local Network permission the first time you open it. Version T needs this to find consoles on your network, so allow it — without it, discovery can’t see your console.

Interface

The Hub

The panel launcher you land on after connecting — the cards, the Hub strip, and the lock screen.

The Hub is home — the panel launcher you land on once you connect. From here you open any part of the app, and you can always get back to it from the dock.

The panels

The Hub shows a card for each panel. Tap a card to open it.

The Hub card row — Overview, Show, Routing, Spatial, Ensemble and Project, followed by Settings

CardPanelWhat it opens
OverviewOverviewEvery channel and mix, with live meters
ShowShowScene list, cue list and transport
RoutingRouting SetsPre-wired signal paths, assigned per cue
SpatialSpatial PannerSpatial positioning on an editable mesh
EnsembleEnsembleAutomatic chorus levelling
ProjectProjectShow details, connection, import and export
SettingsSettingsApp preferences

The cards use short labels — “Routing”, “Spatial” — for the fuller panel names used throughout this manual. Above them are the Version T logo and the line “Console Upgrade to Version T.”

Moving between panels

There are two ways, and you’ll use the second one most:

Because the masks widget rides the dock on every panel, the Hub strip is always one tap away. See The Dock for the widget itself.

Locking

Tap the large theatre-masks logo at the top of the Hub screen to lock Version T — handy when you step away from the console. The lock covers everything until you dismiss it.

Interface

The Dock

The widget bar along the bottom of every panel — Hub strip, macro sets, connection status and show transport.

The dock is the bar along the bottom of the screen, present on every panel. It holds Version T’s widgets — small glass cards that give you navigation, connection status and show transport without leaving whatever panel you’re working in.

The dock along the bottom of a panel — the theatre-masks Hub widget at the left, connection and transport at the right

The widgets

Left to right:

WidgetLooks likeTap opens
HubTheatre masksThe Hub strip — jump to any panel from here
Macro SetsA short name per setThat set’s macros
ConnectionAntenna, tinted by stateConsole details and Disconnect
TransportGreen playStore · scene / T-list · Prev / Next / GO

The Hub and Macro Set cards sit at the left; Connection and Transport sit at the right.

Hub. Tap the masks to open the Hub strip — a compact row of every panel (Hub, Overview, Show, Routing Sets, Spatial Panner, Ensemble, Project, Settings, Discovery), with the current one highlighted. It’s the fastest way to move between panels, and it’s always in the same place.

Macro Sets. These cards are built automatically from your show data — one per macro set. Tap a card to reveal that set’s macros and fire them. If your show has no macro sets, no cards appear here.

Connection. The antenna is tinted by connection state — green connected, orange connecting, red error, grey offline. Tap it for the console’s details and a Disconnect button.

Transport. Tap the green play card for the transport strip: Store (when the T-list is active), the scrollable scene / T-list, and Prev / Next / GO. Transport is hidden on the Show panel, which has these controls inline.

Tap to open, drag to float

Every dock card behaves the same way:

Tapped: the Hub strip open as a popover directly above the docked theatre-masks widget, with Hub highlighted

Dragged up: the same Hub strip undocked into a floating panel, free of the dock

The Connection widget is fixed — it stays in the dock and doesn’t float.

Interface

Panel Layout

The frame every panel shares — header across the top, work area in the middle, dock along the bottom.

Every panel is built on the same frame, so once you know one you know them all: a header across the top, the panel’s work area in the middle, and the dock along the bottom.

The Overview panel showing the shared frame — the header bar across the top, the channel grid filling the work area, and the dock along the bottom

The header

A slim bar across the top of every panel. Its shape is always the same, even though the controls change from panel to panel:

There is no masks button in the header — navigation lives in the dock (see below).

The work area

The middle of the screen is the panel itself — the channel grid, the mesh editor, the T-list, whatever that panel does. It fills all the space between the header and the dock. Some panels add their own inline controls just above the dock (Overview’s footer, Show’s control column); those belong to the panel and are covered on its page.

The dock

The bar along the very bottom is shared by every panel. It holds the Hub (masks), any Macro Sets, Connection and Transport, and it’s where you move between panels. It’s the same everywhere — see The Dock.

Opening settings

The gear never opens a pop-up over the panel. It takes you to the Settings panel, on the section that matches where you were. Settings is a panel in its own right, with its own tabbed sections, reached either from the gear or from the Hub.

Interface

Macros

One button, several console commands — built in Settings, fired from the dock as macro-set widgets.

A macro is a button that fires one or more console commands in sequence. Group your macros into sets, and each set becomes a row of buttons in the dock — for the moments in a show when one tap should do several things at once: recall a cue, mute a group, and send a Go to QLab, all together.

Macros aren’t a Hub panel. You build them in Settings → Macro, and they live in the dock as macro-set widgets.

Building a macro

Open Settings → Macro. The Macro tab has two parts:

Some example commands:

CommandDoes
input 1 mute onMute channel 1
dca 2 level -5DCA 2 fader to −5 dB
recall 6Fire cue 6
wait 500Pause 500 ms
osc 10.0.0.5:53000 /goSend a Go to QLab

Chain several on one line with ; — e.g. input 1 mute on; wait 500; recall 6.

Settings → Macro — the macro tiles with one selected, and its step list showing the trigger type and the compiled command

Grouping into sets

On the Sets tab:

Settings → Macro → Sets — the macro sets as tiles, and the macros belonging to the selected set in the order they appear in its widget

Firing from the dock

Each macro set is a card in the dock. Tap the card to pop up its buttons, then tap a macro to fire it — one tap during the show, no menus. See The Dock.

The LEADER macro set open in the dock — its six macros popped up as buttons above the dock card, ready to fire with one tap

Technical Reference

Commands use a plain-language grammar: <channel> <number> [parameter [number]] … <value> (1-based), covering channels (input, aux, dca, matrix, tracked input, tracked dca, routing set…), parameters (level, mute, pan, send, eq, comp…) and values (on/off, dB, ±inf). Special commands: recall <cue>, wait <ms>, and osc <host:port> <path> [args]. Each step is compiled at edit time (MacroParser) into a CompiledAction list that the runtime walks with no parsing (MacroExecutor); toggle and momentary steps require both the primary and alt commands to compile.

Panels

Overview

The whole console at a glance — a live grid of every channel you can mute, solo, ride, rename and re-source in place.

Overview is the whole console at a glance. Every input, mix and DCA is laid out as a live grid — names, colours and metering straight from the console — and from the same screen you can mute, solo, ride levels, rename and re-source any of them. It’s role one at its purest: a faithful mirror of what the console currently holds, turned into something you can act on.

The Overview panel in card view — the channel grid with live meters, filtered to All

Reading the screen

Channels are grouped by role — inputs, returns, FX, groups, auxes, mains and DCAs — in the console’s own order. Three views show them differently; toggle from the header:

Because Overview mirrors the console, it shows only what the console currently holds. Change a level or mute on the surface and the grid follows.

Function modes — what a tap does

The buttons on the right of the header set what tapping a channel does. One is active at a time:

The Overview header — view toggles, the All filter and the + for user sets at the left; the function-mode buttons and Settings gear at the right

ModeTapping a channel
Alt SrcOpens its alternate-source detail (inputs and DCAs)
MuteMutes / unmutes it
PAFLSolos / unsolos it (PAFL)
MetersOpens a detailed meter view for it
EditOpens name and colour editing for it
FaderDrag channels to ride a parameter — see below

In Fader mode you drag a channel to change a value. Which value is set by the fader sub-mode (long-press the Fader button): Level, Trim, Gate threshold, Comp threshold, or HPF frequency. Level has a detent at 0 dB.

Alt Src, Meters and Edit open a detail panel over the grid; tap the dimmed background to close it.

Filters and user sets

The filter button (left of the header) narrows the grid — All, Inputs, Mix, DCA, or Routing (your tracked inputs and DCAs plus the routing pool). Tap to cycle; press and hold for the full menu.

Beyond the fixed filters you can build user sets — your own saved selections of channels, colour-tagged, so you can jump to just “the band” or “radio mics.” Tap a set to show only its channels; the + button creates one. Sets are edited in Settings.

Preferences

The gear (top-right of the header) opens Settings → Overview. It has four tabs.

View

How the grid looks.

Settings → Overview → View — meter and card grid styles, and grid size

Ballistics

How the meters respond, in two groups.

Metering

Meter Data

Settings → Overview → Ballistics — peak hold time, peak threshold, peak meter fall-off, and demo meters

Sets

Build and manage user sets — your own channel selections that appear in the Overview header.

Settings → Overview → Sets — a selected set with its display options and channel picker

Fader Off

Dims channels whose fader is pulled below a threshold, so “parked” channels recede in the grid.

Settings → Overview → Fader Off — enable, threshold, dim colour, and the tracked DCAs

Technical Reference

Function modes write directly through the bridge router. Fader sub-modes map to these parameters:

Sub-modeParameterRange
Levelchannel level−144 … +10 dB (detent 0)
Trimpreamp trim−20 … +20 dB
Gategate threshold−80 … 0 dB
Compcomp threshold−80 … 0 dB
HPFhigh-pass frequency20 … 20 000 Hz

Mute and PAFL toggle the channel’s mute/solo; Alt Src focuses the channel in the alt-source manager.

Panels

Routing Sets

Pre-wired signal paths — define a mic's full routing once, then assign it per cue with a single tap.

What a routing set is

A routing set is a pre-wired signal path. For every mix bus in the pool it defines whether this input is fed, at what level, and whether the send is pre-fader, post-fader or a group tap. You build the sets once; per cue you simply assign each mic to a set, and Version T writes all the crosspoints for you.

That assignment is the whole point: instead of touching dozens of sends per cue, you make one choice — “this mic is on Principal now” — and the DSP detail already lives in the set. The console holds the live result; the set definitions live in Version T and recall onto any console you connect to.

A musical-theatre example

A show might define a handful of sets:

SetPurpose
PrincipalSolo dialogue and lead vocal — FOH, IEM detail, program feed
Ensemble 1Upstage chorus — FOH cluster, band feed, broadcast
Ensemble 2Downstage chorus — different FOH position, separate monitors
BoothOffstage/booth mic — local PA only, no monitors
OffNot in this scene — all sends zero

A principal’s mic sits on Principal for a solo, switches to Ensemble 1 when they join the chorus, and goes to Off between scenes. One assignment per mic per cue.

The main screen

The header shows the title, a red AUTO ACTIVE warning when any automatic mode is armed, and the Settings gear. Below it are two zones.

The Routing Sets panel — tracked DCAs across the top with the auto and glass-mode buttons either side, and the tracked-input grid below, each card colour-coded by its current set

DCA panel (upper)

This is where you work with your tracked DCAs. Tap a DCA card to select it, then use the glass-mode buttons on the right to act on it:

ModeWhat it does
NameName the DCA — from the keyboard or a suggestion from its name history
ColourRecolour it from the console palette
MuteMute mode
AssignAdd or remove its member inputs (from that DCA’s input history)
Routing SetLink the DCA to a routing set

The Auto buttons on the left apply things across all tracked DCAs at once: ALL / NONE (arm every auto action or clear them), Auto Colour, Auto Mute, Apply / Auto (assign inputs to DCAs from name history — tap Apply once, or long-press to latch it on), and Auto Routing (route each input to the set linked to its DCA). While any auto mode is latched the panel tints red and the header shows AUTO ACTIVE.

Routing sets grid (lower)

Every tracked input as a card, colour-coded by its current set. Used together with the glass modes to assign, mute or rename inputs.

Assigning routing

Preferences

The gear opens Settings → Routing, with four tabs.

Sets

Settings → Routing → Sets — the eight routing sets, the shared pool of mixes with level and tap point, and the auto-colour rules

Inputs

Settings → Routing → Inputs — the tracked-inputs patch with each slot&#x27;s solo name and group membership, and the auto-assign map for the selected input

DCAs

Settings → Routing → DCAs — the tracked-DCA patch and the name pool used for auto-assign, with each name&#x27;s input count

Maps

The Cast Map — how Version T learns and holds a show’s names across a run.

This is how you pre-load a show before rehearsals: build the cast list as JSON — CastingMap authors it for you — import it, and every performer’s name, colour and DCA history is in place before the first cue.

Settings → Routing → Maps — the Import Cast Map dialog, with merge-or-replace, the lock options, tracked-input colour and starting input

Limits

ItemLimit
Tracked Inputs48 slots
Tracked DCAs24 slots
Pool Mixesconsole maximum
Routing Sets8

Technical Reference

Routing lives in RoutingPreferences: the mix pool, trackedInputs, trackedDCAs, the sets (each with enables, levels, preFader, color), plus the auto-assign data (dcaAssignmentHistory, dcaNameHistory, namesDictionary) and autoColor settings.

Pre/post values: Pre = 0, Post = 1, Group = 2.

Matching: Version T continuously reads the console’s live crosspoint enables for each tracked input and compares them against every set’s enable pattern — the first match is shown as that input’s current set. Matching uses the enable pattern only; levels and pre/post are write-only.

Panels

Spatial Panner

Position a source anywhere across the whole speaker system by dragging a dot on a mesh, not just left to right.

The Spatial Panner places a source in space across your whole speaker system, not just left-to-right. Instead of one pan control, you position a source on a 2D stage map — a mesh of speaker outputs — and Version T sets the send level to every output to put the sound where you want it. It reads the console’s live sends, so it can also show you where each source currently sits.

This is a good example of role one: the console has the sends, but it has no concept of “put this voice downstage-left across twelve speakers.” Version T adds that control surface on top.

The Spatial Panner live view — the channel strip with per-source mini-maps along the top, the selected source positioned as the white dot on the stage map, and the matrix meters at the right

Two modes

The two buttons at the top-right switch the panel between:

Spatial Panner (live view)

A strip of channels runs along the top, each with a live mini-map showing where that source currently sits. The quick-jump buttons — Ip / Rtn / Mix / Mtx — scroll to inputs, FX returns, mixes (buses on WING) and matrices.

Tap a source to open it on the big stage map. The mesh’s points are drawn as markers — outputs (blue), the centre split (green), mutes (red) and sums (orange) — and the source’s position is the white dot. Drag the dot anywhere on the map to move the source: Version T sets the send to every output to match, and the matrix meters down the right-hand side show the resulting levels live.

Mesh Organizer (edit view)

Switch to the pencil to build meshes. Your meshes run along the top as thumbnails — start from a template (Stereo, 5.1 Surround, 7.1 Surround, 12.4 Circle, or Blank), and the header buttons + add, trash, rename and share (copies the mesh to the clipboard as JSON, to paste into another show).

The canvas is your stage. You place points and join them into triangles; the panner interpolates the output gains across those triangles. Each point has a type, chosen from the second row of tools:

TypeColourWhat it is
OutputBlueA speaker / matrix destination — assign it to an output
SplitGreenA split point
MuteRedA mute point — silences the region around it
SumOrangeA sum point (shows “Unassigned” until you give it an output)

The tools on the left are select, add, link (tap three points to form a triangle) and delete, with a grid toggle and size control below. Selecting a point shows its ID and X / Y position and its Assign card — tap Change to reassign which output it drives. On the right, Points lists every point with its assignment, and Links lists every triangle.

The Mesh Organizer — mesh templates along the top, the point and link tools at the left, the triangulated mesh on the canvas, and the Points and Links lists at the right

Preferences

The gear opens Settings → Spatial (a single page):

Settings → Spatial — the floor and ceiling of the level range, the matrices used as speaker outputs, and the input channels available as sources

Technical Reference

PannerPreferences holds the source inputChannels, destination outputChannels, the patchCables, each source’s assigned mesh (meshIndex), and floorDB / ceilingDB. MeshPreferences holds the meshes — each Mesh is a set of points (id, normalized x/y, type, patch) and triangular links. MeshManager resolves a position into per-output weights (resolveWeights) and, in reverse, solves a set of live gains back into an XY position (reversePosition) to draw the dot.

Panels

Ensemble

A Vocal Rider–style engine that rides a chorus toward its own rolling average, so the ensemble stays even without a hand on every fader.

Ensemble keeps a chorus even, automatically. It’s a Vocal Rider–style engine: it watches the mics in your chosen routing sets, works out the group’s average level, and rides each mic toward that target — quietly lifting the ones that drop and trimming the ones that jump — so the ensemble stays balanced without a hand on every fader.

It only writes when you enable it, and it corrects trim, so it sits underneath your fader moves rather than fighting them.

Ensemble running — LEVELLING lit in the header, the sidebar with ENABLE, the input/output toggle, the AVG meter and the quick-adjust cards, and a meter strip for each mic currently in the ensemble

The main screen

The header shows the title and, when the engine is running, a green ● LEVELLING indicator.

Down the left is the control sidebar:

The rest of the screen is a meter strip per active mic. Membership is automatic: whichever mics are in your included routing sets right now are the ones the engine rides — so as cues change the ensemble follows.

Preferences

The gear opens Settings → Ensemble (a single page):

Settings → Ensemble — the routing sets included in the engine, the meter tap point and size, and the engine parameters

How it works

BridgeEnsembleManager reads the meter taps for the active channels — membership derived live from routing-set matching — computes a target from the rolling group average, works out each channel’s correction bounded by Max Boost / Max Cut, smooths it with hold and release over the History Time window, and writes the correction only once it exceeds a small dead band (about 0.5 dB). The engine ticks on each meter push (~50 Hz).

Panels

Show

Build the running order as a T-list of cues, each a portable snapshot that recalls onto whatever console you're patched into.

Show is where the portable show comes to life. You build the running order as a T-list — a list of cues — and each cue captures the parameters you choose as a self-contained snapshot. Press Go and Version T rebuilds that snapshot onto the connected console. The console holds the live result; Version T owns the cue list, so the same show recalls on whatever desk you’re patched into.

The Show panel in landscape — the T-list of cue cards with their DCA preview strips at the left, and the controls panel with Update, Operations, Selected Cue and the Go transport at the right

The T-list

The main area is your cue list. At the top, a menu switches between showlists (or creates a new one), with the cue count beside it.

Each cue is a card showing its number, name and comment, with two buttons on the right — a safety button (tinted when the cue has recall-safes) and an info / lock button — and a DCA preview strip showing the DCA names and colours stored in that cue.

Cards colour-code their state: the active cue is yellow, the standby (next Go) is green, a range selection is cyan, and the selected cue is outlined white. Disabled cues are dimmed.

Building and running cues

The controls panel (beside the list in landscape, below it in portrait) has three groups:

Store, Go and Delete can each ask for confirmation first — set in Settings.

What a cue captures

Every cue is built from datacues, one per category. These are portable parameter sets — what should change, in Version T’s terms — so a cue recalls on any connected console:

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 (venue-specific, not portable)

Editing a cue

Tap a cue’s info button to edit it: name, cue number, comment, trigger (Manual, or Auto with a wait time), Enabled and Locked, plus its created / modified stamps.

The cue edit sheet — cue number, name and comment, the Manual or Auto trigger with its wait time, the enabled and locked toggles, and the created and modified stamps

Recall safes

Recall safes protect parameters from being overwritten when a cue is recalled. Version T holds them at two levels, both using the same inputs/DCAs × parameters grid:

The per-cue Cue Safety sheet — tracked inputs and DCAs against the protectable parameters, grouped into collapsible bands, with the Routing, Spatial and Ensemble scopes across the top

The difference is only scope: one cue versus the whole session.

Preferences

The gear opens Settings → Show, with two tabs:

Settings → Show — the transport widget target, the advance-standby-after-GO setting, and the confirmation toggles for delete, recall and store

Settings → Show → Global Scope — the app-wide recall safety matrix, with whole rows and columns toggled to protect them from any cue recall

Technical Reference

The automation hierarchy: Datacue (captured directives) → Cue (a set of datacues) → Showcue (a cue plus timing: wait / auto-follow) → Showlist (the T-list running order). A project can hold several showlists.

BridgeTListManager drives it: Store recaptures the selected cue’s datacues from current live state (one per type, via AutomationDefinitions), New captures and inserts a fresh cue, and Go recalls at the GO pointer. Because the dock’s Transport widget can target the T-list too, the dock transport is hidden on this panel — Show has its own Go.

Panels

Project

The show's identity and its portable bundle — export the whole project to move it to another iPad or another console.

Project is your show’s home base. It holds the show’s identity — name, version, venue, status — and it’s the one place to carry the whole thing in and out as a portable bundle. Everything you build in Version T (routing, panner, ensemble, overview sets, the cue list) lives in the project; export it to move to another iPad, import to bring one in.

The Project panel — the Import and Export cards beside the project name, with the show, version, date, producer, venue, designer, status and run dates below

Project identity

At the top, an Import and Export pair sit beside the current project name. The name is built from the fields below and is used for export filenames.

The info grid holds:

These are yours to track the production; the show/version/date combine into the project name.

Import and export

The Import Bundle sheet — the bundle name and export date, with Project Info, Overview, Routing, Panner, Ensemble and Show each toggled on or off before applying

This is how a show travels — between iPads, or onto a different console. Because the show is stored as portable parameter sets, importing rebuilds it wherever you are. Your project also saves itself continuously as you work; the bundle is the portable copy you hand off or archive.

Settings

The gear here opens App settings — Appearance (UI brightness per layer: headers, cards, modals — Low / Normal / Bright, with a live preview) and Log (the console message log, with Log / Clear) — rather than a Project-specific page. See Settings.

App settings → Appearance — headers, cards and modals each set to Low, Normal or Bright, with a live preview of each at the right

App settings → Log — the console message log streaming parameter traffic, with the Log and Clear controls

Technical Reference

ProjectInfo (show, version, producer, venue, designer, opens/closes, status, notes) yields the project name. The bundle (com.versiont.bundle) wraps ProjectData: the routing, panner + mesh, ensemble and metering (Overview) preferences; the automation hierarchy (datacues → cues → showcues → showlists, plus macros and macro sets); the Show preferences including global safes; and the project info. Import applies only the sections you ticked.

Reference

Limits & Capacities

The hard numbers in one place — what Version T manages, what the console holds, and the ranges values move in.

The hard numbers, in one place. Two things set the ceiling: what Version T manages, and what the connected console can hold. Version T’s own limits are fixed; the console’s capacities depend on the desk and its current configuration.

What Version T manages

These are the tracked structures you set up per show. They’re the same on every console.

ThingLimitNotes
Routing sets8Per pool; extra slots start disabled
Tracked input slots48Set in Routing → Inputs
Tracked DCA slots24Set in Routing → DCAs
Routing set colours8Fixed palette
Send mode per mix3PRE / POST / GRP
Showlists per projectSeveralThe T-list running orders
Showcue numberingDecimalPoint cues (1.0, 1.5, 2.1)

Version T also keeps naming history to speed up setup: up to 20 previous names per DCA, and a shared dictionary of up to 200 names for autocomplete.

Console capacities

The connected console sets the real channel ceiling. Mix-bus counts (groups, auxes, matrices, mains) are read from the desk at login, so the working numbers depend on the console’s own configuration — the table below is the protocol maximum for the Allen & Heath dLive family.

Channel typeUp to
Input channels128
DCAs24
Mute groups8
Mono groups / stereo62 / 31
Mono auxes / stereo62 / 31
Mono matrices / stereo62 / 31
FX sends (mono / stereo)16 / 16
FX returns16
UFX sends / returns8 / 8
Mains6
Console scenes500
I/O sockets128

WING and X32 / M32 families expose their own fixed topologies; Virtual32, the built-in X32/M32 emulator, presents roughly 30,000 parameters.

Value ranges

ValueRange
Fader level−90 dB to +10 dB (−∞ at the bottom of the throw)
Pan−100.0 (L) to +100.0 (R), 0.0 = centre
Colour0xRRGGBB (24-bit RGB)

Network

dLive discovery / controlUDP 51320 (find), TCP/UDP 51321, UDP 51324
BroadwayOSC (external control)UDP 8765
Max message size (AH-NET)65535 bytes

Requirements

Version T needs iPadOS 26 or later and an A12 chip or newer (2018 iPads on). M1 or better is recommended for large channel counts and heavy metering. The iPad and console must share the same control network — Wi-Fi, or wired via a USB-C-to-Ethernet adapter (wired recommended for shows).

Reference

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.

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:

Recall safety lives on the showcue

Each showcue carries its own protection, at two grains:

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.

Reference

Macro Command Language

The full grammar for a macro step — every channel, parameter and value you can type.

Every macro step holds one line of plain-language commands. Version T compiles that line the moment you enter it, so by showtime there’s nothing left to interpret — the step just fires. This page is the full grammar: every channel, parameter and value you can type. For building and firing macros, see Macros.

Matching is case-insensitive throughout — Input 1 Mute On and input 1 mute on are the same. Put several commands on one line by separating them with a semicolon (;).

The shape of a command

A console command names a channel, then narrows down to the one parameter you want to set, and ends with the value:

<channel> <number> [<section>] [<sub-parameter>] <value>

Numbers are 1-basedinput 1 is the first channel, exactly as it’s labelled on the console. The address always carries one more name than it has numbers; that trailing name is the parameter being set.

A few worked examples:

CommandSets
input 1 mute onChannel 1 mute on
input 1 level -10Channel 1 fader to −10 dB
input 1 level -infChannel 1 fader to −∞
aux 3 level 0Aux 3 fader to 0 dB
dca 2 mute onDCA 2 mute on
input 1 send 3 level -5Channel 1’s send to aux 3 at −5 dB
input 1 pan 50Channel 1 pan to 50
input 1 phantom onChannel 1 phantom power on
input 1 eq enable offChannel 1 EQ bypass
input 1 comp threshold -20Channel 1 compressor threshold
input 1 send 3 pre onChannel 1 send 3 set pre-fader
matrix 1 level -20Matrix 1 fader to −20 dB
main level 0Main stereo fader to 0 dB
tracked input 1 mute onTracked input slot 1 mute on
tip 1 mute offSame, using the short alias
routing set 3 recall 1Recall routing set 3

Channels

Type the channel token, then its number. Aliases are interchangeable.

TokenAliasesChannel
inputch, ipMono input
inputstereoStereo input
groupgrpMono group
groupstereoStereo group
auxMono aux mix
auxstereoStereo aux mix
busMono bus (WING)
busstereoStereo bus (WING)
mixMono mix (generic)
mixstereoStereo mix
matrixmtxMono matrix
matrixstereoStereo matrix
outputMono output
outputstereoStereo output
dcaDCA fader group
mutegroupMute group
fxsendfxMono FX send
fxsendstereoStereo FX send
fxreturnfxrMono FX return
fxreturnstereoStereo FX return
mainstereomainMain LR
mainmonoMain mono
maincentreMain centre
mainsubMain sub / LFE
monstereomonPAFL / monitor bus
headampPhysical headamp
tracked inputtipTracked input slot
tracked dcatdcaTracked DCA slot
routing setRouting set

Parameters

After the channel and number, name what you’re setting. The most common:

TokenAliasesSets
levelfader, vol, volumeFader position (dB)
muteMute on / off
panPan position
trimTrim / gain
soloSolo state
phantomPhantom power
phasePhase / polarity
sourceInput source
sendSend level to a bus (a crosspoint)
delayDelay time

Reaching into processing

To set something inside a processing block, name the block, then the sub-parameter. Blocks: eq, comp, gate, highpass, insert, preamp, dynamics, limiter, deesser, geq.

Sub-parameters address the specific control: enable, bypass, freq, gain, q, threshold, ratio, attack, release, knee, range, hold, makeup, type, mode, slope, width, pre, post, wet, dry, depth, rate, feedback, size, weight.

So input 1 comp threshold -20 reads channel → comp block → threshold → value.

Values

The last word is the value. Version T reads it flexibly:

You typeBecomes
on, true, yesOn (1)
off, false, noOff (0)
-inf, -infinity−∞
inf, infinity+∞
any number (-10, 0.5, 127)That number

Special commands

Three commands don’t set a console parameter:

wait <milliseconds> — pause before the next step.

wait 500          Pause half a second
wait 1000         Pause one second

recall <cue> — fire a showcue by number.

recall 3          Fire cue 3

osc <host:port> <path> [args…] — send an OSC message to an external device, such as a Go to QLab.

osc 10.0.0.5:53000 /go
osc 10.0.0.5:53000 /cue/1/start
osc 192.168.1.50:8000 /fader 0.75

Two-word tokens

Some tokens are two words. Version T joins them automatically, or you can type them as one word — and several have a short alias:

NaturalOne wordShort
tracked inputtrackedinputtip
tracked dcatrackeddcatdca
routing setroutingset
mute groupmutegroup
main stereomainstereomain
fx sendfxsendfx
fx returnfxreturnfxr

Several commands on one line

Chain steps with ;. Each segment compiles on its own, and all of them must compile for the step to go green:

input 1 mute on; wait 500; recall 6

How compiling works

Compiled steps are saved compiled, so a project loads ready to fire with no re-parsing.

Reference

BroadwayOSC

Version T's open control protocol — read and drive console parameters live from any external program over the network.

Download the full spec (PDF) Download Markdown

BroadwayOSC is Version T’s open control protocol. Any external program — a show-control system, a QLab-style cue engine, a custom script — can reach the connected console over the network and read or drive its parameters live, using the same model Version T uses internally. Whatever an operator does on the console flows back out to every listening client without polling.

It’s a superset of standard Open Sound Control (OSC 1.0 / 1.1): plain float, integer and string messages work exactly as they do in any OSC tool, and BroadwayOSC adds a richer type system, index-range addressing and a readable console namespace on top. This page is a working summary; the full specification is the BroadwayOSC document in the project.

Connecting

BroadwayOSC runs over UDP, default port 8765. There’s no handshake — send any BroadwayOSC message and you’re registered as a client from that moment. Send /Unsubscribe/* to remove yourself cleanly when you disconnect.

What a message means

Every message is one of four intents, decided by the path prefix and whether a value is attached:

An explicit /Set/… or /Get/… prefix is accepted if your client prefers it, but isn’t required.

Address format

/ChannelType/index/Parameter
/ChannelType/index/ProcessingBlock/Parameter
/ChannelType/index/ChannelType/index/Parameter

Tokens are case-insensitive — /input/1/level equals /Input/1/Level. Processing blocks (Comp, Gate, Hpf, Lpf, Preamp, Eq) take no index of their own. A crosspoint — a send from a channel to a bus — carries both indices, e.g. /Input/1/Aux/3/Level.

AddressReaches
/Input/1/LevelInput 1 fader
/Input/1/MuteInput 1 mute
/Aux/3/LevelAux 3 fader
/Input/1/Aux/3/LevelInput 1’s send to aux 3
/Dca/1/LevelDCA 1 fader
/MainStereo/1/LevelMain LR fader
/Input/1/Comp/ThresholdInput 1 compressor threshold
/Input/1/Hpf/FreqInput 1 high-pass frequency
/Input/1/Preamp/TrimInput 1 preamp trim

Addressing many channels at once

The index field isn’t limited to a single number:

FormExampleMeans
Single3Channel 3
Range1-32Channels 1 through 32
Set1,4,5-8Channels 1, 4, 5, 6, 7, 8
Wildcard*Every channel of that type

Two ranges in one address produce every combination — /Input/1-32/Aux/1-16/Level is 512 crosspoints. On SET the same value is written to every expanded address; on GET/SUBSCRIBE each one is handled individually.

Channel types

Inputs: Input, InputStereo, AuxInput, AuxInputStereo, FxReturn, FxReturnStereo.

Buses: Aux, AuxStereo, Group, GroupStereo, Bus, BusStereo, Matrix, MatrixStereo, FxSend, FxSendStereo, Output, OutputStereo, MainStereo, MainCentre, MainSub, MainSum, MainSurround, Mon.

Groups: Dca, MuteGroup.

Parameters

Float values are in engineering units — Hz, ms, dB — and Version T converts to and from each console’s wire format for you.

ParameterTypeNotes
LevelfloatFader (dB), −∞ to +10.0
Panfloat−100.0 L … 0.0 centre … +100.0 R
LevelDCAfloatDCA-adjusted level — read-only
MuteT/F
SoloT/FRead-only
NamestringRead-only
ColorRGB0xRRGGBB — read-only

Processing blocks each carry their own controls, addressed under the block: Preamp (Trim, Phase, Phantom), Hpf / Lpf (Freq, Enable, Slope), Gate, Comp (with sidechain and parallel sub-blocks), Eq (per-band Freq/Gain/Q/Type), Geq (mix buses), Delay, Insert, and DCA assignment (/Input/n/Dca/m/Enable). See the full spec for every field.

Scenes and cues

AddressTypeDoes
/Cues/1/GoimpulseFire the standby scene
/Cues/1/StandbyCueintSet the standby scene index
/Cues/1/ActiveCueIDintActive scene — read-only
/Cues/1/ShowstringActive show name — read-only
/Cues/1/CueListGETThe full scene list

Value types

BroadwayOSC carries the standard OSC tags — i int32, f float32, s string, b blob, T/F boolean, N null, I impulse (used for actions like Go), d float64, h int64, and arrays […] — and adds three of its own: u (uint16), R (RGB colour, 0x00RRGGBB), and P (a pair — int16 token plus int16 index). Collections use OSC 1.1 arrays: [TTF] for routing enables, [fff] for levels, [iii] for pre/post flags, [PP] for a channel pair list.

How clients stay in sync

Each client keeps its own subscription set; pushes only go to addresses in that set. Build the set by GETting an address (auto-subscribe) or with /Subscribe/. If you GET an address the server doesn’t yet hold, it fetches the value from the console, stores it, and pushes it to you as soon as it arrives — no re-request. From then on, every console move on that address is forwarded to you live. Clients are identified by ip:port.

Coexisting with ADM-OSC

BroadwayOSC (/ChannelType/n/…) and ADM-OSC (/adm/obj/n/…) use non-overlapping namespaces and can share the same UDP port, so spatial-object control and console control can run side by side.