Augmented Theatre Dashboard
Cue the audience's phones
Free · In‑App Purchases
The booth in one window: cue titles, video, colour, light, sound and augmented-reality scenery to a roomful of phones over the venue's own Wi-Fi.
Augmented Theatre Dashboard is the operator's side of a performance where the audience's own phones are part of the staging.
From the booth, it sends text cues to every phone in the house over the theatre's own Wi-Fi, and delivers the images, video, audio and AR sets a production needs — quietly, during walk-in, so that a cue at curtain is instant.
• Shows are folders you can see. Each one holds its own document and its own media, so clearing a closed production is deleting a folder.
• Files are delivered content-addressed and verified, and a phone never fetches something it already holds.
• Once a phone holds an asset it can be played, paused, stopped, shown and hidden as often as the show requires, without touching the network again.
• Any cue can address part of the house — roughly a third of the audience, or half — rather than all of it.
• The delivery tally shows how many phones hold each file and how far the rest have got.
The companion Augmented Theatre app for iPhone is free.
Text and the basic show cues are free forever. Sending media files, AR sets, addressing part of the house and the delivery tally are included for five days, and afterwards need the full version.
more Copy OSC Stop Address, beside Copy OSC Address.
- Right-click a row — long-press on iPad — and the row menu now offers the
cue that ends it as well as the cue that starts it: /dziga/0 for a
kino-eye, /camera/0 for either camera look, /atc/stop and the file's name
for a clip, /atc/strike for an AR set. A patch needs both ends of a look,
and until now only the start was on the clipboard.
- The item is absent on rows that have no stop. A bell and a title are over
by the time another cue could be sent, a volume is a setting rather than a
state, and Clear is itself a stop.
- Three of those stop addresses are new in the audience app this version:
the kino-eye, the rain sphere and the colour fill could be started by name
but not stopped by one. Update the phones as well as this console.
4.43 6d ago
A buzz is shaped on a page, and a looping one can be stopped.
- The four numbers of a vibrate row -- how long it lasts, how long after the
cue it begins, how hard it is, and whether it repeats -- could only be
picked off a short list of presets, so anything between them could not be
asked for at all. They are set exactly now: each a slider with a field to
type the number into, and a Buzz now button that sends the cue without
starting the row, because a buzz is the one cue nobody can judge from its
numbers.
- A buzz set to repeat could not be stopped. A vibrate row never counted as
running, so no Stop ever appeared on it, and the cue that ends a repeating
buzz had no way to be sent -- it ran until the app was closed. A looping
buzz now carries the live dot the way the torch does, its Stop sends that
cue, and a console restarted mid-show still knows the house is buzzing.
- The manual names the first number of a vibrate cue by what it is for, the
length, rather than by the unit it happens to be measured in.
4.42 6d ago
Hand-over is off until a booth asks for it.
- A Dashboard now arrives with "Hand the show between consoles" switched
off. It is the right default for the great majority of booths, which run
one console: with it off, this Dashboard announces nothing, acts on no
request from another console, and drives the show from the moment it
opens. A booth that passes the show between a Mac and an iPad turns it on,
once, on both. It had been on by default, which meant any other Dashboard
on the network -- a classroom, a shared studio -- could put yours on
standby in the middle of a performance.
- The manual explains the House row in terms of what it does: Start switches
the phones to that show's files and puts its poster up; Stop returns them
to the idle screen and clears the title and any surtitle, which is why it
also takes away a colour fill, a camera look or a shader.
- Four chapters of the Russian manual had no translation and were shown in
English. They are translated.
4.40 Oct 16
Buzz the house, cue over TCP, and a folder for each augmented-reality set.
- The cue strip has a Vibrate chip. Its row sets how long the buzz lasts and
how long after the cue it begins -- both in milliseconds, up to a minute --
how hard it is, as a percentage of full strength, and whether it repeats
until the instance is stopped.
- Settings can send cues over TCP instead of UDP. The console then holds one
connection open to each handset and sends every cue down it, which is what a
venue that blocks or floods broadcast traffic needs. Both ways are described
on the Settings page, the one in use is the one the cue port row is named
for, and the audience app hears either without being told which.
- An augmented-reality set keeps its files in its own folder inside the show,
named after the set, so the show on disk reads like the delivery table. A
show made before this is tidied into that layout when it is opened.
- Settings can hide hand-over. Hidden, the console announces nothing, acts on
no request from another console, and drives the show from the moment it
opens, which is what a booth with a single console wants.
- Settings is a page rather than an alert: labelled port fields, both
transports described, and hand-over on a switch beside its explanation.
4.39 Oct 15
A chip for each kind of media, not one door for all of them.
- The delivery table has a separate button for video, for images, for audio,
for an AR set and for an audio-reactive look. Each one opens a file panel
offering only the kinds the audience app can present, so a file that cannot
be shown can no longer be staged.
- The demo show is a template. Opening it always gives you the canonical demo,
fresh; editing it and saving asks for a new show rather than overwriting it,
so the demo is still there the next time you want to show someone.
- The demo stages its media in the order the chips are in, and one of every
look alongside it.
4.37 Oct 13
A new demo AR set, sets that carry their own sound, and a chip for each kind
of media.
The demo's AR set is now a figure in Oskar Schlemmer's Triadic Ballet costume
vocabulary — cone skirt, spherical hips, ruff, ball head, brass cone hat, in
the three primaries — rigged, swaying through a slow pavane, with two films
behind it and an eight-bit loop of its own. The set it replaces was geometry
with video on it and nothing moving.
An AR set can carry a score. Put an audio file in the set's folder, or name
one with the "audio" key in ar-set.json: it is staged, delivered and counted
with the rest of the set, and loops for as long as the set stands. It is
independent of the projections, so a set with no video surface at all can
still have music — and it sits inside its set in the running order rather
than beside it as a loose file.
The cue strip opens with a chip for each kind of thing you can add: Video,
Image, Audio, AR Set and Audio-reactive, each offering only the files it is
for. One chip with a folder emblem used to accept everything, which said
nothing about what it would take — and an AR set could only be added by
dropping its folder on the list, which appeared nowhere but in a tooltip.
A gap separates them from the built-in looks, which need no delivery.
The demo is a template now, not a show. Opening it gives you a fresh,
canonical demo every time: the same files in the same order, one AR set, one
shader and one of every look. Anything you have made of it is kept with
"Save the Demo as a Show…", or it goes — which is what keeps a demo worth
showing someone.
A Dashboard that is the only one in the building no longer says "ON STANDBY —
another console is driving the show" while it starts up. It spends its first
seconds listening for other consoles before taking the show, and now waits
until it knows before saying anything.
Help has a new section, "Creating an AR set", which walks the demo set from
the figure to the folder and explains what an anchor is actually for. The
website carries the same with the anchor on the page and the set
downloadable, generator scripts included.
4.36 Oct 12
Cues now arrive even when the Wi-Fi drops them.
A venue's access point sends a broadcast once and never retries it. Measured
in a real room, barely half of them were reaching the handsets. Every cue that
can safely be repeated now goes out a second time, addressed directly to each
phone that has reported in — and a direct message is retried until the phone
confirms it. Anything else listening on the cue port sees exactly what it saw
before.
Update Assets works on the demo board. It used to give up before asking the
house anything when no show was open, so the Delivered column sat at nought
while the phones were holding the whole show. The iPad also sweeps by itself
now, on launch and whenever a stage is loaded.
A Dashboard that is not driving says so, plainly, across the top — and the
controls that belong to the console holding the show are inert rather than
mysteriously dead. It also shows that console's running order instead of an
empty list.
When the delivery column cannot hear the house at all, it says so instead of
reporting nought.
Pressing a chip scrolls to the row it just made. The Send buttons grey out
where the script ends rather than a line early. And the demo's looping GIF is
no longer a black screen.
4.35 Oct 8
The Delivered column tells the truth now.
On the demo board, Update Assets quietly did nothing at all: with no show
document open it gave up before asking the house anything, so the column sat
at nought while the phones were holding the entire show. It asks properly now,
and the iPad sweeps by itself on launch and whenever a stage is loaded, as the
Mac always has.
When a console cannot open its telemetry port — usually because another
Dashboard, or a stale one, still has it — the column no longer reports a
confident nought. It says it cannot hear the house, and the tooltip names the
port.
The Send buttons grey out where the script ends rather than one line early, so
the last line is still sent with the button you used for every line before it.
TestFlight builds open the full version, so testers can exercise delivery
without buying it.
4.34 Oct 7
Help now describes surtitles as they behave
A line sent to the house rides over whatever the phones are already showing — a film, a camera look, a shader — rather than taking the screen from it, so a translation can run through a scene. Cued on its own it still sits on black. Sending an empty line takes the words away; it no longer blanks the screen, which is what Stop and the Clear chip are for.
The change itself is in the audience app; this brings the Dashboard's own Help into step with it, and both apps back onto one version.
4.33 Oct 3
The full version, given back when a purchase is refunded
If the full version is refunded, the Dashboard now locks it again rather than staying unlocked for good. It only ever acts on the App Store saying in so many words that the purchase was revoked — never on silence, so a booth with no route to Apple ten minutes before curtain keeps working exactly as it did.
4.31 Oct 3
Redeem a code without leaving the Dashboard
If someone has given you a code for the full version, there is now a Redeem Code item in the Augmented Theatre Dashboard menu, beside Restore Purchase. It opens Apple's own redemption sheet, and the full version unlocks as soon as it closes.
This matters because Restore Purchase cannot do that job and never could: a code redeemed in the App Store leaves no transaction behind for it to find, so it answers that no purchase was found to somebody holding a perfectly good code. Redeem Code is the one that works. On macOS 14 and earlier the sheet does not exist, and the Dashboard says where the App Store keeps its own field instead.
4.30 Oct 1
Launches on the newest iPadOS
The iPad Dashboard would not start at all on the latest iPadOS: the system now requires apps to adopt its window life cycle and refuses to launch those that have not. That is fixed. The Mac Dashboard was never affected, and carries the same changes as this version for the sake of one version number across the whole system.
A shader is checked harder before it ships
The Dashboard already compiled a shader against the same rules a phone's own graphics driver enforces. Now it also checks what no compiler can: that every uniform the shader asks for is one this app can actually feed it, with the right type and the right shape, and that there is a main() in the file to run at all. Each of those otherwise ends the same way — a wall of black screens in a dark hall, and nobody in the booth knowing why.
A shader in the demo
The demo show now stages Rainbow Spinning Circle, an audio-reactive look whose colour wheel turns with the room's own sound — so there is always a shader to hand for trying this out, and one to read.
4.29 Sep 30
A redeemed code now unlocks the full version
If you were given the full version through the App Store and the Dashboard kept showing the trial, this release is the fix. The app used to learn about a purchase only at the moment the App Store handed it over, so a code redeemed before the app was installed -- or while it was closed -- left a licence the app never saw. It now asks the App Store directly, when it opens and whenever you use Restore Purchase.
Purchase and restore also say what happened. Their answer used to go to the status line, where delivery progress painted over it, so a restore that found nothing looked like a restore that did nothing.
This release needs macOS 12 or later.
4.27 Sep 24
iPad: landscape only
The board is a landscape layout -- a wide cue strip over a wide delivery table -- and portrait only ever squeezed it. The iPad Dashboard now stays landscape, matching the app the audience runs, which has always been locked that way. It gives up Split View to do so, which a booth console has no use for.
Nothing else changes, and nothing changes at all on macOS: the version number moves so that a booth and a house showing the same number are still known to work together.
4.26 Sep 17
A fuller manual
Help now covers the whole cue strip, not just part of it. Every chip has its chapter: colour, vibration and torch; title and volume; the house; the five camera looks and the Clear that closes any of them; and the audio-reactive shaders, including the two rules worth meeting in a manual rather than in front of an audience -- the microphone is asked for on first use, never at launch, and a shader and local playback each end the other, because a device cannot listen to a room it is playing into.
System sounds get a chapter of their own: the six the bell menu offers with the number each sends, and the wider set of ids an iPhone answers to for a cue written by hand in Isadora. An id iOS does not know plays silence rather than an error, so it is worth trying one before the house is in.
4.24 Sep 4
Audio-reactive shaders
Send a GLSL look that reacts live to each phone's own room sound -- the same feature the Mac Dashboard has. Checked against what the audience app can actually feed it before it ships, so a shader asking for anything else is refused at the door rather than sent broken.
Network status
The title bar shows this iPad's address and both ports, so you can tell at a glance whether the house should be able to reach it.
Copy OSC Address
Long-press any row in the delivery list and lift the cue it fires, ready to paste into an Isadora patch or any other OSC sender. One line, naming the file the way you could have typed it, and carrying the value the row holds -- /color/1 212 92 36 rather than a bare /color/1.
About the version number
It jumps from 1.4 to 4.23 on purpose. One number now identifies a compatible set across the Dashboard and the Augmented Theatre app the audience runs, so a booth and a house showing the same number are known to work together.
4.23 Aug 31
Copy OSC Stop Address, beside Copy OSC Address.
- Right-click a row — long-press on iPad — and the row menu now offers the
cue that ends it as well as the cue that starts it: /dziga/0 for a
kino-eye, /camera/0 for either camera look, /atc/stop and the file's name
for a clip, /atc/strike for an AR set. A patch needs both ends of a look,
and until now only the start was on the clipboard.
- The item is absent on rows that have no stop. A bell and a title are over
by the time another cue could be sent, a volume is a setting rather than a
state, and Clear is itself a stop.
- Three of those stop addresses are new in the audience app this version:
the kino-eye, the rain sphere and the colour fill could be started by name
but not stopped by one. Update the phones as well as this console.
more Version 4.43 6d ago
Data Not Collected The developer does not collect any data from this app.