grandMA3 plugin
What this does: reference for the Helm plugin on the desk. It asks Cues for the show, builds the timecodes, events and macros, and sends the desk’s moves and commands back. Setup steps are on grandMA3 setup.
At a glance
Section titled “At a glance”| Item | Value |
|---|---|
| Version | 0.16.16 |
| On the desk | Plugin pool tile Helm 0.16.16 |
| Download | grandMA3 Plugin on Downloads |
| Tested on | grandMA3 2.4.2.2 |
- Current copy: 0.16.16. Notes keep their line breaks on the desk, and a stack added in Cues while joined goes live: its sequence, cues and timecode track arrive as you work. 0.16.15: Import Track…, HELM TRACK and Create Macros → Track Nav ask Cues for the track list alone when this connection has none, so one track can be imported without importing them all. Stack appearances by name: see Stack appearances. 0.16.13: no session, no tracks: Setup Desk builds track macros only from what Cues sent in this session, and Disconnect forgets the session. See Session memory. Cue notes reach the desk cues. See Cues as objects.
- 0.16.12: nothing runs on a clock. The desk’s command line shows nothing from Helm until you act. See The command line.
- Update with Cues 0.2.18. Cues no longer sends a heartbeat. On 0.16.11 or older, HELM CONNECT reads
· OFFLINE30 s after Cues starts. - 0.16.11: every track select sets the track’s BPM. TRACK_SETUP line 2 is always
Master 3.1 At BPM $CURRENT_TRACK_BPM, with no switch. See Track nav macros. - Cues needs 0.16.8. A desk on an older plugin gets no live edits from Cues: the MA3 chip reads
plugin 0.16.6 needed. - Coming from 0.16.7, 0.16.8 or 0.16.9? Run Setup Desk once after the update. Until then a track select may set no BPM.
- On 0.16.6 or 0.16.7? Update now. They misread the desk’s cue numbers: cues stay
Cue 1, live moves miss, and an Import adds extra cues. Their track select puts the speed master at full above 100 BPM. Then delete the extra cues: Extra cues. - Older copies: 0.16.9 let a switch in Cues take the BPM line out of TRACK_SETUP. 0.16.8 reads the desk’s cue numbers right: desk cues land named, cue moves reach the desk, and no extra cues appear. See Desk cue numbers on the desk. 0.16.7 lets Cues stop the desk setting its speed master on track select. 0.16.6 lands every cue named, keeps each event’s command instead of turning it into Goto, and tells Cues what the desk holds after every Import: see Cues as objects and Desk report. On 0.16.6 every track select sets the speed master. 0.16.5 finds an event by the cue it fires, and adds Cues command… and the HELM CUES CMD macro. 0.16.4 finds every sequence, page and timecode by name, so moving them in their pools changes nothing. 0.16.3 answers every push from Cues, not only one the desk asked for. A copy from before 20 October also repairs your own OSC rows and lets tracks overwrite each other’s stack colours. Before 17 October it turns a Flash into two Goto events. Re-import the current download.
What’s in the zip
Section titled “What’s in the zip”Helm-0.16.16/├── Helm-0.16.16.xml└── Helm-0.16.16.lua- Keep the folder name. Rename the
Helm-0.16.16folder and MA3 cannot load the plugin.
Names, not numbers
Section titled “Names, not numbers”From 0.16.4 Cues and the plugin find every desk object by name: a stack’s sequence is the track prefix and the stack name (01 - Main), a track’s page and timecode carry the track name.
- A pool number is only where a missing object is created. Import uses the sequence, page or timecode with that name wherever it is. None: it creates one at Cues’ number, or the next free number if that one holds something else. It never stores over another object.
- Renamed in Cues? Import finds the object under its old name and relabels it.
- The import check lists every name it cannot find, and any name two objects share.
The command line
Section titled “The command line”The desk prints every command it runs, Helm’s included. From 0.16.12 nothing runs on a clock: the command line shows nothing from Helm until you act, in Cues or on the desk.
| You | The command line shows |
|---|---|
| Leave the desk alone | Nothing from Helm |
| Press a Helm tile or control macro | One SendOSC … "/Helm/hello…" line. Then what the press does. |
| Import | The hello, the pull, then Cues’ commands as the show lands |
| Move a cue in Cues | One Lua "HelmEditEvent(…)" line per moved cue, and the plugin’s answer |
| Select a track in Cues | HELM_CUES_TRACK, a Plugin … "trackchanged" line, and the HELM TRACK label |
| Turn on Live BPM to the desk in Cues | One Master … At BPM … line each time the playhead crosses a tempo change |
| Stop hosting, or remove the desk, in Cues | One Plugin … "forget …" line, then one line per Track Nav macro as it turns grey |
- The first move after Cues starts also shows one
Plugin "Helm 0.16.16" "tick"line, once. - The desk no longer polls Cues. If Cues quits, the desk finds out at its next Import or press. See Link state.
Install or update
Section titled “Install or update”onPC (macOS)
Section titled “onPC (macOS)”-
Unzip the download.
-
Move the
Helm-0.16.16folder into~/MALightingTechnology/gma3_library/datapools/plugins/. -
In MA3: Plugin pool → empty cell → Edit → Import →
Helm-0.16.16→Helm-0.16.16.xml. -
Press the new Helm 0.16.16 tile → Setup Desk.
Console
Section titled “Console”-
Copy the
Helm-0.16.16folder to a USB stick, intogma3_library/datapools/plugins/. -
Plug the stick into the console.
-
Import from the stick: Plugin pool → empty cell → Edit → Import →
Helm-0.16.16→Helm-0.16.16.xml. -
Press the new tile → Setup Desk.
Update
Section titled “Update”-
Import the new version into an empty cell. Versions sit side by side.
-
Press the new tile → Setup Desk, or Create Macros → Control. This rebuilds the Control macros in their order and points HELM CONNECT, HELM AUTOSYNC, HELM TRACK and HELM CUES CMD at the new tile.
-
In Cues, run Check MA3 connection…. The Plugin step shows the new version.
- Until step 2 those macros still run the old tile.
- From 0.16.11 or older: HELM CONNECT may read
· OFFLINE. Step 2, or the next press, paints the real state. - Step 2 rewrites TRACK_RESET and TRACK_SETUP. Re-apply your own edits to them after.
- From 0.16.9 or older, step 2 also gives TRACK_SETUP its plain BPM line. Until then, on 0.16.7 or 0.16.8 a track select sets no BPM, nor on 0.16.9 with Cues’ old BPM switch off. On 0.16.6 or older it sets the speed master as a fader level.
- From 0.16.6 or 0.16.7: delete the extra cues they made. See Extra cues.
- From 0.16.4 or older, step 2 also deletes the HELM SHOW macros and relabels the Control block in the new order. See Macros.
The menu
Section titled “The menu”Press the tile. The window shows:
- Status line:
SESSION: <name> — JOINED(green),— PENDING in Cues,— DENIED by Cues,— NO SESSION in Cues,— NO LINK (…)with the reason,— NO ANSWER from Cues, orNOT CONNECTED. It is what the last exchange with Cues said. - Show line: show name, artist, track count, and how long since Cues last sent data. Nothing from Cues in this session:
No track list from this session.
| Button | Does |
|---|---|
| Import Tracks | Asks Cues for the show, waits up to 8 s, builds every track. No answer: nothing is imported. |
| Import Track… | Pick one track, in track number order, and build that track only. No list from this connection yet: the desk first asks Cues for the list alone (names and numbers, nothing re-stored on the desk), then shows the picker. |
| Create Macros | Playhead, Control or Track Nav. Playhead macros that exist are refreshed where they sit. Track Nav is laid out in track number order. Control is rebuilt in order from its start. Track Nav with no list from this connection asks Cues for the list first. |
| Settings | Slot starts and options. See Settings. |
| Setup Desk | OSC rows, appearances, Playhead and Control, join, Track Nav when in a session, checklist. See Setup Desk. |
| Connect… / Switch session… | Join a session from the list, or by Manual IP |
| Cues command… | Builds the cue Command that moves Cues’ Live player to a cue, and can put it on a cue. See Cues command…. Plugin 0.16.5. |
| Disconnect | Leave the session. The desk forgets it. Shown only while joined. See Session memory. |
| Build from offline file… | For onPC with no Cues. Builds pages, timecodes and Track Nav from a file. See Offline file. |
| Close | Closes the window |
- A push from Cues lands without a press. When you push from Cues (Push now), the desk takes Cues’ commands as they arrive. The plugin prints
Helm: receiving from Cues — part 12 of 75.only when it runs, at a press: nothing on the desk ticks on its own. - No window on this MA3 build? The same items open as a message box.
- The plugin repairs its own OSC rows. Every tile press, and HELM CONNECT, HELM AUTOSYNC, HELM TRACK or HELM CUES CMD, fixes a Helm row with no destination, or
Enter IP here:127.0.0.1and UDP, then OSC restarts. Helm’s rows are Helm IN, Helm OUT and any row on port 8000 or 8001. Other rows are left alone.
Setup Desk
Section titled “Setup Desk”-
Press the tile → Setup Desk.
-
Check Cues host and Interface. The interface on the Cues subnet is suggested.
-
Press Set up.
What it does:
- OSC rows. Finds or makes Helm IN (UDP 8000, Receive Command On) and Helm OUT (UDP 8001 → Cues host). Never the desk’s IP or subnet.
- Appearances and macros. Builds the Helm appearances, the Playhead and the Control macros.
- Join. Joins when Cues offers exactly one session. Several: use Connect….
- Link check. Asks Cues for its answer and waits up to 5 s.
- Track Nav needs a session. Built only when Cues says the desk is joined and the track list came from Cues in this session. Not connected: no Track Nav, and the checklist says Not connected to a Cues session — press HELM CONNECT, then Import, to build the track macros. Joined but nothing imported yet: press Import.
- Checklist. Input row, output row, destination, Cues answered, link, macros, Track Nav. Each ✗ carries its fix.
Safe to run twice. It writes only what differs.
Session memory
Section titled “Session memory”The desk keeps nothing of a session it is not in. Plugin 0.16.13.
- No session, no tracks. Setup Desk, Create Macros → Track Nav, HELM TRACK, Cues command… and Import Track… use only the track list Cues sent since this desk joined. Not connected, they build nothing and say Not connected to a Cues session — press HELM CONNECT, then Import, to build the track macros.
- Joined with no list yet: Import Track…, HELM TRACK and Create Macros → Track Nav ask Cues for the list alone and carry on. Nothing is re-stored on the desk. Setup Desk builds no Track Nav until a list has arrived.
- A showfile keeps the last session’s track list. The desk ignores it after a showfile load until Cues answers again and you Import.
- Disconnect forgets. The session, its track list, the track Cues was on, and the current-track variables. So do Stop hosting in Cues, Remove or Deny of the desk in Cues, and Cues answering that it does not host the desk’s session.
- Your Track Nav macros stay. They turn grey until the next Import rebuilds them. HELM TRACK reads
· NO SESSION. - To rejoin: press HELM CONNECT, then Import Tracks, or Import Track… for one track.
Offline file
Section titled “Offline file”For onPC with no Cues on the network. The plugin reads HelmShowData/show.lua only when you ask for it.
-
Press the tile → Build from offline file….
-
Read what it builds: pages, timecodes and one Track Nav macro per track, from the file. Nothing comes from Cues.
-
Press Build. No file yet: Create the file writes an empty one to fill in.
- Never on its own. Setup Desk, Create Macros and a tile press do not read the file.
- Make the file in Cues: grandMA3 setup → Offline.
Macros
Section titled “Macros”Move a playhead macro, or a nav macro out of its block, where you like. The plugin finds it by name and refreshes it there. A new block never overwrites your macros: it skips taken slots and says on the command line where it went.
| Block | Macros | Default slots |
|---|---|---|
| Playhead | HELM play, HELM pause, HELM stop, HELM rew, HELM ff, HELM prev, HELM next | 451–457 |
| Control | HELM CONNECT, HELM AUTOSYNC, HELM TRACK, HELM CUES CMD, TRACK_SETUP, TRACK_RESET, in this order | 491–496 |
| Track Nav | One per track, named after the track | 501 on |
- Control is rebuilt in its order from Control macros start, every time: Create Macros → Control and Setup Desk. A desk built before 0.16.5 has its block relabelled in the new order.
- A copy of TRACK_SETUP or TRACK_RESET elsewhere is deleted. The nav macros run them by name, so there must be one of each. Other Helm copies stay; the command line names them.
- The HELM SHOW macros are gone. Building Control deletes HELM SHOW LOAD, START, PAUSE, RESUME, STOP and GOTO, in one undo step. The playhead macros drive the page on screen in Cues. To jump Live to a cue, use Cues command….
Stack appearances
Section titled “Stack appearances”Name appearances on the desk Helm Stack 1, Helm Stack 2, and so on, one per stack position. Make and colour them yourself; put them anywhere in the pool. On Import, each track’s first stack (Main) gets Helm Stack 1, its second Helm Stack 2, by name. The plugin never recolours them. A position with no such appearance keeps the colour appearance (one per colour in the Helm slots). Plugin 0.16.15.
Track order
Section titled “Track order”Every track list on the desk is in track number order: 1, 2, 10. HELM TRACK, Cues command…, Import Track… and the Track Nav block. Plugin 0.16.14.
- No number: the track comes last. Two tracks with one number: by name.
- Import Tracks, Create Macros → Track Nav and Setup Desk lay the Track Nav block out in this order from its start. A nav macro moves to its place; its old slot is cleared.
- A nav macro you moved out of the block stays there.
- Import Track… of a track with no nav macro yet puts it in the block’s first free slot. The next Import Tracks puts it in order.
- Risk: a block built by an older plugin moves on the next Import. Check anything that points at a nav macro by its slot.
State macros
Section titled “State macros”| Macro | Label and colour | Press |
|---|---|---|
| HELM CONNECT | · <session> green. · PENDING amber. · DENIED, · NO SESSION, · NO LINK, · NO ANSWER red. Plain HELM CONNECT when not joined: amber when Cues has sessions on offer, else red. It changes only when the desk and Cues exchange something: see Link state. | Not joined: the Connect flow. Joined: the full menu. |
| HELM TRACK | · <track>: the track Build has selected or Live has loaded. · NO SESSION grey: the desk is in no session. | Pick a track. Build selects it. Live loads it, no play, when Live is on screen and Desk control is on. While a track plays, Live queues it to play next. |
| HELM AUTOSYNC | · ON green, · OFF grey | Flips this desk’s auto-sync in Cues. The label shows what Cues set, not the press. |
| HELM CUES CMD | Plain | Opens Cues command… |
Playhead macros
Section titled “Playhead macros”HELM play…HELM nextdrive the player of the page on screen in Cues, like the Stream Deck’s transport keys.- On Build: Build’s player.
HELM prevandHELM nextselect the previous or next track. Desk control does not matter here. - On Live, Monitor or any other page: the Live player, while Desk control is on.
HELM prevandHELM nextload the previous or next track; it keeps playing if Live was. - Everywhere:
HELM rewandHELM ffmove 5 s. - A GO on a desk cue (Desk GO drives Cues, Cues command…) always moves Live, whatever page is on screen.
Cues command…
Section titled “Cues command…”Builds the cue Command that moves Cues’ Live player to a cue. Put it in a desk cue’s Command: GO on that cue plays Cues from the cue, or lines it up there. Plugin 0.16.5.
-
Press the tile → Cues command…, or press HELM CUES CMD.
-
Pick the track. Press Next.
-
Pick the cue: desk cue number, name and time in the track. The list is the track’s Main stack. Press Next.
-
Press Play from here or Line up here.
-
The command shows, and is on the command line. Press Put on a cue… to write it into a cue, or Done.
-
Type the sequence name and the cue number. Press Put on.
The command reads like this:
Lua "if HelmStart then HelmStart([==[Intro]==],[==[01 - Main]==],3) end"- Line up here writes
HelmGotoinstead ofHelmStart. - Main stack: the stack named Main, else the track’s first stack.
- Your Command stays. A cue that already runs a Command keeps it. The Helm call goes after it, joined with
;. Already there: nothing changes. - By name. The sequence is found by its name, wherever it sits in the pool.
- Needs Live armed and Desk control on in Cues, and the plugin on the desk. Without the plugin the cue does nothing, quietly.
- A cue the stack fires more than once: Cues takes the one nearest its playhead, else the first.
- Not on a desk cue Cues writes itself (a fader level, Desk GO). Cues’ next push sets that Command again.
- Nothing written? This MA3 build does not let the plugin read that cue’s Command, so it leaves it alone. Type the line from the command line into the sequence sheet.
Desk GO drives Cues
Section titled “Desk GO drives Cues”With a track’s Desk GO drives Cues on in Cues, Cues writes a call into the Command of that track’s desk cues, by name, e.g. Lua "if HelmStart then HelmStart([==[Blue]==],[==[05 - Main]==],3) end". GO on the cue tells Cues to play from it, or to line up on it. See Live → Desk GO drives Cues.
- Needs plugin 0.16.4 for the names. No plugin loaded: the call does nothing, quietly.
- Leave the Command alone. Cues rewrites what it wrote on the next push. Your own Commands on other desk cues stay.
- One cue, by hand: Cues command… writes the same call into any cue you name.
Track nav macros
Section titled “Track nav macros”Each nav macro runs TRACK_RESET, sets the track’s name, number and BPM, then runs TRACK_SETUP.
TRACK_RESET marks the outgoing nav macro orange, then pauses and turns off timecodes 1–99 and pages 1–99.
TRACK_SETUP marks the nav macro green, then:
- Sets master 3.1 to the track’s BPM — the beat grid’s opening tempo, the number Build shows. Always, on every track select. Line 2 is the command itself: see The BPM line.
- Opens the track’s page. Selects its timecode and executor 201.
- Rewinds the timecode and arms it: it now chases.
- Tells Cues the track. Build selects it. Live loads it while Desk control is on. While a track plays, Live queues it to play next instead: the music carries on.
The BPM line is always there. There is no switch for it, in Cues or on the desk.
- Setup Desk and Create Macros → Control build TRACK_SETUP with it.
- Edited it out, or built with 0.16.9 and Cues’ old switch off? Run
Plugin "Helm 0.16.16" "rebuild_setup". It puts the line back as line 2 and keeps your other lines. - Built with 0.16.8 or older? Run Setup Desk once. See Update.
- Tempo changes inside a track come from Cues, only when you turn on Live BPM to the desk. See Desk import.
The BPM line
Section titled “The BPM line”Master 3.1 At BPM $CURRENT_TRACK_BPM- One plain command line. No plugin call: it runs even before the plugin has run since the showfile loaded.
- BPM before the number.
Master 3.1 At 128is a fader level, in percent: anything over 100 BPM lands at full. The manual’s form isMaster [Master_Number] At BPM [Value](BPM keyword, Master keyword). $CURRENT_TRACK_BPMis the BPM the nav macro sets just before TRACK_SETUP runs.- Another master? Set
HELM_CFG_BPM_MASTER, then run Create Macros → Control. See Settings.
Settings
Section titled “Settings”Tile → Settings. Saved in the showfile.
| Setting | Default | What |
|---|---|---|
| Track Nav macros start | 501 | Where a fresh nav block goes |
| Control macros start (Connect / Autosync / Track / Cues cmd / Setup / Reset) | 491 | Where the Control block is built, in that order |
| Playhead macros start | 451 | Where a fresh Playhead block goes |
| Appearance slots start | 960 | Helm uses the 37 appearance slots after this one. The first 30 hold stack colours, one per colour. |
| page_start | 0 | Page = page_start + track number. Offline file only. |
| timecode_start | 1 | First timecode slot. Offline file only. |
| main_exec | 201 | The executor TRACK_SETUP selects |
| off_macro | TRACK_RESET | The macro nav macros run first |
| on_macro | TRACK_SETUP | The macro nav macros run last |
| var_scope | User vars | Where the track vars live |
| Backup offset | 1000 | Before a pull or a move, each sequence of the tracks involved is copied to the next free number from its number + this, named @v<sync version>. 0 = off. Cues sets it from Settings → Desk import when the desk joins, with every push and when you change it there. |
Set by Global var only:
| Var | Default | What |
|---|---|---|
HELM_CFG_TC_SLOT | Slot 1 | The timecode input every Helm timecode chases. Slot 1 to Slot 16. |
HELM_CFG_BPM_MASTER | 3.1 | The master TRACK_SETUP sets to the BPM. Rebuild Control after a change. After Setup Desk, Cues’ Live BPM to the desk sets this master too. |
HELM_CFG_RESET_WAIT | 0.25 | Seconds a nav macro waits after TRACK_RESET |
HELM_OSC_LINE | unset | The OSC row the plugin sends on. Unset: the row aimed at port 8001. |
How Cues maps to MA3
Section titled “How Cues maps to MA3”| In Cues | On the desk |
|---|---|
| Track | A page and a timecode named after the track, a nav macro. Created at its page number and Timecode Pool slot only when missing. |
| Visible cue stack | A sequence named prefix + stack (01 - Main). Created at Starting Sequence # (Main) and the next numbers only when missing. On Executor Start of the track’s page, the other stacks after it in list order, hidden ones last. One track in the timecode’s Helm group. |
| Cue | A cue in that sequence, numbered by its desk cue, with name, fade and delay. One timecode event. See Cues as objects. |
| Cue command | The event’s token |
| Fader level | The desk cue’s Command: FaderMaster Sequence "<name>" At <level> Fade <seconds>. Only cues with a level; Cues clears only what it wrote. Sent by Cues with the cue; no plugin needed. See Fader levels. |
| Stack colour | An appearance on the sequence. With appearances named Helm Stack 1, Helm Stack 2, … on the desk, each track’s stacks get them in order by name, Main first. Otherwise stacks of one colour share one, on every track. See Stack appearances. |
| Track start | The timecode’s offset |
Names and per-track numbers: grandMA3 setup → section 4.
Cues as objects
Section titled “Cues as objects”Every desk cue Cues writes is one line on the desk, by sequence name: on Import, and live when you add a cue, rename it or change its fade, delay or note.
Lua "if HelmCue then HelmCue([==[01 - Main]==],1,[==[SET UP]==],2,nil,[==[Wait for the singer]==]) end"- The plugin finds the cue by its number in the sequence with that name, the number the sequence sheet shows.
- A missing cue is stored, and only stored:
Store Sequence "01 - Main" Cue 1 /NoConfirmation. Plugin 0.16.8. - An existing cue is never stored over. A store would merge the programmer into it.
- Then it names the cue, sets its fade and delay, and reads the name back.
- Every cue answers Cues. A cue that did not land is in Cues’ log, and its track reads Import needed.
- No name, fade or delay in Cues: the desk’s own stays.
- The cue’s note goes on the desk cue’s Note. A cleared note clears it. Line breaks are kept from plugin 0.16.16. Plugin 0.16.13; an older plugin leaves the desk’s note.
Commands and tokens
Section titled “Commands and tokens”| Command in Cues | Event on the desk | If this MA3 build refuses it |
|---|---|---|
| Go | Go+ | Goto |
| Goto | Goto | Goto |
| Top | Top | Goto |
| On | On | Goto |
| Off | Off | Goto |
| Kill | Kill | Goto |
| Flash | Two events. Flash with status On at the cue. Flash with status Off after Hold (s), default 0.5 s. | Both dropped. Never a stuck flash. |
- The cue first, then the command. The plugin sets each event’s cue, then its command, and checks it in every form the desk may show. Goto only when the desk takes none of them.
- Goto fallback is said once per Import on the desk’s command line, with what the desk read back. Cues logs it too.
- Import counts them:
Events: N with their Cues command, M fell back to Goto, plus anynot readable backandFlash refused. - Every attempt is in
/tmp/helm_events.txton the desk.
Desk cue numbers on the desk
Section titled “Desk cue numbers on the desk”The plugin reads every desk cue number as the sequence sheet shows it: 1, 1.5, 3.25. Cues sends the same numbers.
- Inside the desk, cue 1 is 1000. grandMA3 keeps cue numbers in thousandths (cue 1.5 = 1500, cue 0.001 = 1). Cue numbers run from 0.001 to 9999.999 (Cue keyword).
- 0.16.6 and 0.16.7 compared 1000 with 1. Every cue looked missing: names never landed, live moves missed with
no event of cue …, and an Import added extra cues. 0.16.8 reads them right.
Extra cues
Section titled “Extra cues”Plugins 0.16.6 and 0.16.7 added extra cues to sequences that should hold one. Cues lists every desk cue it never sent.
- Where: a toast naming the sequence, its log (
desk has extra cue 69 "Cue 69"), and the track reads Import needed on that desk. - Cues deletes none. You may have added cues of your own.
- Not yours? Delete each on the desk:
Delete Sequence "02 - Main" Cue 69- Then Import Track… for that track. The report clears the mark when the desk holds only what Cues sends.
Desk report
Section titled “Desk report”The desk tells Cues what it holds. No photos of the sequence sheet needed.
- After every Import, for the tracks it built.
- Any time:
Plugin "Helm 0.16.16" "diag", for every track.
What Cues gets, and logs as MA3 diag <desk>: …:
- Each sequence’s cues: number, name and note, as the desk has them. Cues compares them with its own (notes from plugin 0.16.13:
desk cue 1 note is "", Cues has "Wait for the singer"). A difference marks the track Import needed on that desk, with the reason:desk cue 1 is "", Cues has "SET UP". A desk cue Cues never sent:desk has extra cue 69 "Cue 69". See Extra cues. - One timecode event per track, with every setting the desk shows for it.
- How each command landed: set, or fell back to Goto, with what the desk read back. Once a form lands, every later event of that Import gets the same form.
- The BPM master (
diagand Setup Desk only): every setting the desk shows for master 3.1. Plugin 0.16.8. - Nothing on a track select from 0.16.9. 0.16.8 also reported what its BPM call did on every track select.
The same lines are in /tmp/helm_events.txt on the desk.
Desk cue numbers
Section titled “Desk cue numbers”Each stack has a Target cue mode (stack editor → Output):
| Mode | The desk cue each cue fires |
|---|---|
| Iterative (auto-number) | Default cue # (1 when blank) + position × Step (1 when blank). A new cue keeps its number, so an insert never renumbers the rest. |
| Fixed (same for all) | Default cue # for every cue, 1 when blank |
| From cue # | The cue’s own Cue #, else the Iterative run |
| Manual (per cue) | The cue’s Desk cue only. Blank: nothing is sent. |
- A cue’s own Desk cue wins in every mode.
- Up to 3 decimals. Digits and dots only. Anything else never reaches the desk.
- Renumber desk cues… (stack right-click, or the Build menu) writes Start, Step, all or selected cues, in time order.
What Import builds per track
Section titled “What Import builds per track”- Vars: the track’s name and BPM, and the show’s name, artist and track count, in your var_scope.
- Page: the page named after the track. Made if missing, or relabelled from its old name.
- Timecode: the timecode named after the track. Made if missing, or relabelled from its old name. Chasing
HELM_CFG_TC_SLOT, offset to the track’s start. - Helm group: one track group named after the track. The old Helm group for that track, under its name or an old one, is deleted first. Groups with other names stay.
- Events: one timecode track per stack sequence found by name that has cues. One event per firing.
- Check: every sequence, page and timecode by name; missing names and names two objects share are listed.
- Report: each sequence’s cues and one event go to Cues. See Desk report.
- Colours: each stack’s appearance.
- Desk moves: every event it built reports moves back to Cues.
- Nav macro for the track.
For your own macros: Plugin "Helm 0.16.16" "<verb>".
| Verb | Does |
|---|---|
connect | The Connect flow. Joined: the menu. |
disconnect | Leaves the session and forgets it (0.16.13) |
track | The HELM TRACK chooser |
autosync | Flips this desk’s auto-sync |
cuescmd | Cues command… (0.16.5) |
hello | Says hello to Cues at once, nothing else (0.16.2). Cues runs it only for Check MA3 connection…. |
rebuild_setup | Puts TRACK_SETUP’s BPM line back as line 2 where it is missing. Leaves every other line alone (0.16.11). |
setup | Setup Desk |
import | Builds every track from what Cues sent in this session, without asking Cues. Nothing from an earlier session. |
navmacros | Rebuilds the nav macros from this session’s track list |
offline | Build from offline file…: onPC with no Cues (0.16.13) |
settings | Settings |
pull | Asks Cues for the show |
diag | Sends Cues what the desk holds (0.16.6), and the BPM master’s settings (0.16.8). See Desk report. |
oscrestart | Restarts the desk’s OSC engine |
Details: Technical reference
When MA3 updates
Section titled “When MA3 updates”- An MA3 update can break the plugin. It shows as Goto fallbacks, refused Flash, or ✗ lines in Setup Desk.
- Check before a show: After an MA3 update.
- Something broke? Stay on the previous MA3 build until a new plugin ships.
Known limits
Section titled “Known limits”- Desk moves from a console are not yet verified. onPC on the Cues Mac is.
- Large pushes to a console are not yet measured. onPC shows no drops.
- Plugin 0.16.5 is not yet tested on a desk: finding events by the cue they fire, and Put on a cue…. A miss lists what the track holds; send that line to support.
- Plugin 0.16.6 is not yet tested on a desk: cues made as objects, the command set after the cue, and the desk report. The report and Cues’ log show what happened.
- Plugin 0.16.8 is not yet tested on a desk: cue numbers read as the sheet shows them and cues made by Store only. Check one Import on the bench; Cues’ log has the desk report.
- Plugin 0.16.11 is not yet tested on a desk:
rebuild_setupputting the BPM line back. Run it once on the bench and open TRACK_SETUP. - Plugin 0.16.13 is not yet tested on a desk: notes on desk cues, the forget when Cues stops hosting, and no Track Nav after a showfile load until an Import. Run Setup Desk with Cues closed on the bench: it must build no Track Nav.
- Plugin 0.16.16 is not yet tested on a desk: a note with line breaks landing as lines, and a stack added while joined arriving with its timecode track. On the bench: add a stack with two cues while joined and check the desk’s timecode group.
- Plugin 0.16.15 is not yet tested on a desk: the list pull behind Import Track…, HELM TRACK and Track Nav, and stack appearances by name. On the bench: join, press Import Track… with nothing imported, and check the picker opens without a full import.
- Plugin 0.16.14 is not yet tested on a desk: track lists in number order and the Track Nav block laid out again. Import once on the bench and check the block.
- Plugin 0.16.12 is not yet tested on a desk: a desk left alone shows nothing from Helm on its command line, and a press on a LINKED desk shows one hello line. Watch the command line for a minute on the bench.
- One answer per cue. On Import the desk answers Cues once per desk cue. Each answer is a line on the desk’s command line.
- Fader levels are not yet tested on a desk: the cue Command set from Cues, and fades under a second. Check them on the bench first.
- 30 stack colours per desk. A 31st colour leaves that sequence’s colour as it is. The command line says so.