Vista Cues 1.0.0: which Vista 3 cue lists are live, from the network MIDI that fires them
Vista 3 reports nothing about what it is playing — its OSC only takes commands — so a booth with no lighting operator can't see the lighting computer. ProPresenter, the tracks rig and Companion fire Vista's cue lists with notes over macOS network MIDI sessions, and a session sends every note to every participant, so the module joins those sessions as one more listener (RTP-MIDI in plain Node, no helper) and hears what Vista hears. The admin's cue sheet turns notes into Go / release / pause / back / flash on named lists. Sheets with no release notes use [groups]: a Go replaces its group's live list, and the first group is the headline — the main scene — which takes over the look and clears the FX below it. The tile shows the headline list large with how long ago and who fired it, the other live lists as tags, recent notes, and which senders are connected. The module invites each configured sender and keeps re-inviting, accepts invitations from anyone, and advertises itself over Bonjour on macOS. A busy port (a config save re-initing before the old sockets close) is retried rather than failing. Default session port is 5040/5041, clear of the 5009 session on NA Ingest. tools/vista-midi-mock.js is a stand-in sender for development; modules/vista-cues/vista.test.js covers the parser, packet decoding and real loopback sessions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -550,6 +550,36 @@ below. Nothing is installed without someone clicking.
|
||||
soon as it does) and **Marks** (how long a mark lives).
|
||||
Tile settings: campuses, card or list layout, and a **Show** group for the
|
||||
day, role, resi source, campuses fed, notes and the updated line.
|
||||
- **Vista Cues** — which Vista 3 cue lists are live, for a booth where
|
||||
nobody runs lighting and ProPresenter and the tracks rig fire Vista's cue
|
||||
lists over network MIDI. Vista sends no feedback of any kind (its OSC only
|
||||
takes commands), so the module listens instead: it joins the senders'
|
||||
network MIDI sessions as one more participant, the way Vista does, hears
|
||||
every note Vista hears, and turns each one into "Go on Walk-in", "Release
|
||||
Worship 1"… from the cue sheet pasted into admin. The tile shows the list
|
||||
fired last, large, with how long ago and who fired it; the other lists
|
||||
still live; the recent notes; and which senders are connected. What it
|
||||
shows is what Vista was *told*: if Vista is closed or someone works the
|
||||
desk by hand, the two can differ, and the title bar's eraser forgets every
|
||||
live list. Plain JavaScript (RTP-MIDI over UDP), no helper; on macOS it
|
||||
advertises itself over Bonjour so it shows up in Audio MIDI Setup's
|
||||
Directory. Admin config: up to three senders (a name, and the host and
|
||||
port of each machine's network session — ProPresenter, the tracks rig,
|
||||
Companion; ProdDash keeps inviting itself in, so each session's "Who may
|
||||
connect to me" must be Anyone, or connect from the sender's Directory
|
||||
instead), the cue sheet (one line per note: `0 = Pre Service`,
|
||||
`61 release Walk-in`, `127 release all`, `30 flash Blinder Flash 1` for a
|
||||
momentary hit, also pause, back, note names, a channel, program changes),
|
||||
middle C naming, whether a Go releases the others, and a folded **This
|
||||
machine** group for the session name, port (UDP 5040 and 5041) and
|
||||
Bonjour. A sheet with no release notes uses groups: a line `[Color]`
|
||||
starts one, a Go in a group replaces that group's live list, and the
|
||||
first group is the tile's headline — so the tile reads "Message" with
|
||||
Color · Blue and House · House Lights Message beside it. A Go in that
|
||||
first group (the main scene) takes over the look and clears the rest, as
|
||||
Vista's last-takes-precedence does; FX fired after it layer on again
|
||||
(the **Main group takes over** switch). Tile settings: other lists,
|
||||
recent, senders, unmapped notes — text size is − / + in the title bar.
|
||||
- **Clock** — a big booth clock; also the smallest possible module and the
|
||||
reference for module authors.
|
||||
|
||||
@@ -565,7 +595,10 @@ timers + timecode on `127.0.0.1:1600`), `node tools/pco-mock.js`
|
||||
run ProdDash with `SLACK_API_BASE=http://127.0.0.1:24716/api`) and
|
||||
`node tools/pco-band-mock.js 24710` (Planning Center for the Band Lineup
|
||||
board — a plan, its team members, birthdays and photos — run ProdDash with
|
||||
`BAND_LINEUP_API_BASE=http://127.0.0.1:24710`). See the testing section of
|
||||
`BAND_LINEUP_API_BASE=http://127.0.0.1:24710`) and
|
||||
`node tools/vista-midi-mock.js 5104` (a network MIDI session playing a cue
|
||||
sheet's notes, as ProPresenter does for Vista — point Vista Cues' first
|
||||
sender at `127.0.0.1:5104` and paste the sheet it prints). See the testing section of
|
||||
the [module guide](docs/MODULE-GUIDE.md).
|
||||
|
||||
## Install as a desktop web app
|
||||
|
||||
Reference in New Issue
Block a user