Releases: stoatworks-labs/livepremier-plus
Release list
LivePremier Plus v0.4.0-preview.2 (preview)
Fixes the Windows desktop app, which could never start the server.
Tauri's resource_dir() is current_exe().canonicalize(), and on Windows that
returns a verbatim \\?\ path. Win32 performs no normalisation inside one, so a
forward slash stops being a separator: the launcher's {resource}/node resolved
to nothing, the .exe fallback's existence check was false for both spellings,
and clicking Start did nothing at all — silently, with no error in the panel.
- Windows paths are de-verbatimed and spelled with backslashes before anything is
spawned or read. - The spawned server no longer pops a console window over the panel.
- The gear button reports the real config directory instead of a hardcoded macOS
path.
macOS and Linux are unaffected by the path fix.
Verified end to end on Windows 11 x64: the panel reaches RUNNING, the embedded
runtime spawns, and the server answers.
LivePremier Plus v0.4.0-preview.1 (preview)
A preview build. Marked as a pre-release, so it stays out of "Latest
release" and the README download table keeps pointing at v0.3.1. Try it on a
rehearsal, not on a show.
Everything here is verified against the Analog Way simulators — LivePremier
6.2.73, Midra 4K 3.2.29 and Alta 4K 1.3.7 — through the proxy. No part of it
has been run against physical hardware.
Midra 4K and Alta 4K are detected, and told apart
They run AWJ and Web RCS like LivePremier, but they are a different
platform: mng-platform against LivePremier's nlc-platform.
screenAuxGroupList, presetBank and vpuMixerList do not exist there, and
screens are numbered 1–4 rather than S1–S24.
So this release detects the switcher and offers only what it can actually
do. Capabilities are probed rather than looked up in a table: a feature is
offered when the part of the device store it drives is present, which means an
Analog Way range this build has never met still gets the right answer for the
right reason. On a Midra or an Alta you get the settings page — which explains,
capability by capability, why everything else is absent — and nothing that
would send a switcher a write it has no property for.
Audio patching on the command line
Set Audio Patch Input 1 Channel 1 To Dante 1
Set Audio Patch Input 1 Channel 1 Thru 8 To Dante 1
Set Audio Mute Dante 1 Thru 6
Set Audio Patch None To Output 3
Dante is addressed as a flat 1–64 because that is how people say it. A run of
sources lays onto consecutive destinations, the idiom every audio desk has, but
only within what the destination already names — it will not roll on into the
next output. Patching an output as if it were a source, or a run that would
fall off the end, is refused by name.
The grammar is mynah's, so the
console here and the Companion module share one implementation.
Also fixed: a failed command has never shown its reason. Every refusal in
the language read as the bare words "cannot compile".
Timecode, and cues that fire off it
MTC over Web MIDI, LTC off an audio input, or anything at all POSTing to
/__lpp/timecode. A cue can carry an hh:mm:ss:ff and fires when the clock
reaches it.
The awkward parts are handled deliberately:
- Going backwards re-arms, because a rehearsal runs the same three minutes
twenty times. - Locating forward fires nothing it jumped over. Going from 00:01:00 to
01:30:00 must not run a hundred takes in a second. - A stopped feed is reported as stopped — a paused deck, a pulled cable and
a switched-off generator are identical on the wire, and none of them is a
reason to keep acting. - Drop-frame is handled as the labelling scheme it is; ignoring it drifts 3.6
seconds an hour.
Two pop-out windows
The console, with the screen and aux previews beside it, a full-width
command line, and a searchable dictionary of the whole grammar.
A QLab-style cue editor — a numbered list driven from the keyboard with an
inspector underneath. The Timeline tab in Web RCS is 360 pixels wide; this is
where a show actually gets written.
Both drive the Web RCS tab's own session rather than opening one of their own,
so the switcher's client count still reads true, and both say so plainly if the
window they came from closes.
Also
- A LivePremier Plus settings page, in the Preconfig flyout beside the
device's own System page. - The Screens / Aux. tab strip fits its panel now. Console and Timeline were
running out past the edge and underneath the Transition column; they shorten
to fit and keep the full name on hover.
Not in this build
Macros are a placeholder that lists the questions they are waiting on. Cue
actions are listed and removable in the pop-out editor but are still built from
the Timeline tab, which can see the device's screens and memories.
LivePremier Plus v0.3.1
The first public release.
LivePremier Plus is a local proxy that adds five things to an Analog Way
LivePremier's own Web RCS. Point it at a switcher, open the address it prints,
and the vendor interface comes up with the extra panels already in it — drawn
with the vendor's own stylesheet, riding the vendor's own connection, so the
device still counts one client.
VPU Map — the mixer allocation as a budget: what is fitted, who holds it,
what is spare, and what a staged configuration would change. Including the case
where every difference is a link move with no property changed, which a
properties-only comparison calls no change at all.
Console — Mynah's command line.
Recall Screen 1 Memory 5, or R Sc 1 Me 5. It shows what a command will do
before Enter sends anything.
Timeline — a theatre cue stack that advances on one GO, with per-cue fade,
delay and follow times. A take waits 150 ms behind a recall in the same cue so
it cannot overtake its own preset load and put the previous preview on air.
MIDI Mapping — a control surface on the layer under your hands, using
awj-surface's engine. Soft
pickup means a fader cannot jump a live value until it has swept through it.
Arithmetic in numeric fields — type 1080-80 into a layer width and get
1000, the way you can in every other tool on the desk.
Getting it
- Docker —
ghcr.io/stoatworks-labs/livepremier-plus:latest, or the
docker-compose.ymlin the repo. - Desktop — installers for macOS (Apple silicon and Intel), Windows and
Linux are attached below. - From source — Node 20 or newer, no dependencies:
npm start.
Two things to know
There is no hosted demo, and there cannot be one. The interface you see
belongs to Analog Way and is served by your switcher; this project proxies it
and contains no part of it. Without a device there is nothing to show.
Open it on the address LivePremier Plus prints, not the switcher's own.
Several features depend on it — MIDI in particular, because Web MIDI needs a
secure context and a switcher's plain-HTTP LAN address is not one.
macOS
The app asks for Local Network permission the first time it runs. It has to:
reaching a switcher on the show network is the entire job, and macOS blocks that
until you allow it.
Status, stated plainly
Verified through the proxy against LivePremier Simulator 6.2.73, and the VPU
map is tested against a capture read from a real Aquilon C. Nothing has ever
been written to that device, the timeline has only ever fired at a simulator,
and no physical MIDI controller has ever been attached. macOS builds are
unsigned unless the signing secrets were present at build time; Gatekeeper
refuses an unsigned download with a message that reads like corruption rather
than a permission prompt.