Pangolin Beyond
AllWhat it's for — CueSync sends PangoScript to Pangolin Beyond over TCP to trigger laser cues on Beyond's cue grid, stop them, set the master and zone brightness, override a zone's colour and switch an effect on. Laser output is the one kind of output CueSync treats as a human-safety matter: the generic automatic verbs are kept away from it by default, the panic latches it dark, and CueSync does not re-enable it by itself unless the venue's automation switch is on. A laser Look, pad or cue you fire yourself is your own decision and is never gated; a laser Look you give an AutoPilot affinity is fired by AutoPilot only while the venue's automation switch is on (section 4). This page covers the setup, every action, those safety rules, and how to test them before an audience.
Lasers can injure people. Beyond's own output enable, your projector's interlocks and your laser safety officer stay in charge. CueSync is a remote control on top of Beyond. Nothing here replaces a safety review of the room.
What has been checked, and on what. CueSync has never been run against Pangolin Beyond. The commands are PangoScript's published names (
CueDown,CueUp,StopAllNow,StopCueNow,EnableLaserOutput,DisableLaserOutput,ControlMaster,ControlZone,Brightness,RGBA,SetFX,StartCell). Test every verb on your own Beyond before you rely on it, with the output enabled only when the room is safe.
1 · Set up Beyond
- Start Beyond with your show loaded.
- Enable Beyond's PangoScript Talk Server under Settings > Network. CueSync's two in-app hints give it as "Enable the TCP Talk Server in Beyond Settings > Network" and "Enable PangoScript in Beyond under Settings > Network". Menu names change between Beyond versions. What matters is that a TCP Talk Server is listening.
- Use its TCP port, 16063. 16062 is Beyond's UDP port. CueSync speaks TCP, and a TCP connection to 16062 never opens.
- Make sure the Beyond machine accepts inbound TCP on 16063.
- Know your cue grid. Beyond's grid is 1-based on both axes: a page number and a cue number on that page. CueSync's editors use the same numbers.
2 · Connect CueSync
- Network → Outputs → Add Output. Category: Video, Protocol: Pangolin Beyond.
- Name it, enter the Beyond machine's IP in Host / IP Address. Port fills in as 16063.
- Optional Pre-fire (ms) and Latency comp (ms), 0–500 each.
- Test Connection, then Add Output.
What "connected" means. CueSync opens a TCP socket to the Talk Server and then keeps checking that the socket is still healthy by reading it. It sends nothing, because no PangoScript command is provably beam-neutral. Flight Check labels this app alive. A dead socket (Beyond quit, the machine shut down or rebooted, a cable pulled) is noticed and the output reconnects. A cue is sent when its bytes leave the socket. Beyond's replies are never read, so no laser cue is ever confirmed, and a Look tile reads SENT.
Every command is one line ending \r\n, and a hung Beyond cannot block the panic.
3 · What a Pangolin action can send
Add Action → your Beyond output → Pangolin Beyond (or search Pangolin; the entry sits under Media).
| Control (exact label) | PangoScript sent | Notes |
|---|---|---|
| Zone (1-30) + Cue | CueDown(<page>,<cue>) then CueUp(<page>,<cue>) | Zone is the grid page here. Blank zone means page 1. Beyond treats a trigger as a click, so both lines go out |
| Play, no Cue | StartCell | Starts the grid's current cell. Beyond has no global transport |
| Play with a Cue | the cue recall above | The cue wins. Play defers to it |
| Stop | StopAllNow | Stops cue playback. It does not switch the laser output off |
| Stop cue (needs Cue) | StopCueNow(<page>,<cue>) | The zone box is the page |
| Set blackout ticked, On | DisableLaserOutput | A latch. See section 4 |
| Set blackout ticked, Off | EnableLaserOutput | Re-arms output |
| Master % | ControlMaster then Brightness(<0-100>) | Both lines go out together |
| Zone % with Zone (1-30) | ControlZone(<zone>) then Brightness(<0-100>) | Needs the zone |
| R 0-255, G 0-255, B 0-255 with Zone (1-30) | ControlZone(<zone>) then RGBA(<r>,<g>,<b>,255) | Needs all three and the zone |
| Effect ID (1-100) with FX layer (1-8) | SetFX(<layer>,<effect>) | Layer defaults to 1 |
| Raw PangoScript (overrides above) | your line, verbatim | A single line |
The two-line commands go out together, so another cue cannot slip a ControlZone in between.
Which verb wins. Raw PangoScript, blackout, stop, stop cue, bare play, master level, zone level, cue, effect, colour. The first one that is set is the whole action. A new Pangolin action has nothing set and fails as "Pangolin Beyond action has no operation set".
The Zone box does two jobs. For a cue it is the grid page. For a zone level and a colour it is the projection zone. The Look editor labels the same value Page (1-30). A number typed for a zone will fire a different page's cue if a Cue is also set.
Refused or named.
| Situation | Result |
|---|---|
| Page or cue below 1 | "Pangolin cue grid is 1-based — zone N cue M is not a firable address". Nothing is sent |
| Stop cue with no Cue | The editor says Beyond Stop Cue needs a cue number — or use Stop for the whole grid |
| Zone %, or a colour, with no Zone | Nothing is sent and the cue fails as no operation set. The cue row reads Needs a zone |
| Master or zone level outside 0–100%, effect outside 1–100, FX layer outside 1–8 | Refused before dispatch, by name |
| Nothing set | "Pangolin Beyond action has no operation set" |
| A cue sent while the output is latched off | The cue is sent, and a note is recorded: "Laser output is latched OFF on … — CueSync sent DisableLaserOutput … and has not re-armed it, so this cue was sent and nothing will show. Re-arm with a Pangolin action set to Blackout Off, or enable output in BEYOND." |
That last note goes to the notification history (Cmd+Shift+H), not to a toast. It is a warning, recorded and not popped up.
4 · Laser safety: the latch, the panic, and the automation switch
The latch
Blackout On sends DisableLaserOutput. That is a latching state at the projector: nothing leaves the scanner until output is enabled again. CueSync remembers that it sent it. That is CueSync's belief, not Beyond's state. If someone re-enables output inside Beyond, CueSync does not see it, and a Raw PangoScript EnableLaserOutput typed by hand also leaves that belief stale.
Only a sent Set blackout → Off clears the belief and re-enables output. CueSync sends one only where you authored it (a pad, cue or Look), or where the venue's Let automation drive lasers switch (below) is on and an automatic blackout closes or a house-state step sends it.
The panic
The panic (Cmd+Shift+B, Transport → Panic → Blackout, or the unfiltered Blackout All pad) sends DisableLaserOutput to every connected Pangolin output. It does not send Beyond's one-shot BlackOut, because that stops what is playing without locking output, and a manual GO or a console cue would put light back in the air. The panic also releases each laser Look it knows is live (a StopCueNow for that Look's cue), a moment after the latch goes out. A cue you fired from a plain action is covered by the latch alone.
Releasing the panic does not re-arm the laser. Releasing restores Unreal's fade, the grandMA3 Grand Master and Resolume's composition opacity, and nothing else. To put the laser back you do it on purpose: fire a Pangolin action set to Set blackout → Off, or enable output in Beyond.
If the panic cannot reach a Beyond output (it is down), CueSync raises a sticky Blackout incomplete banner naming it. Black out at the projector.
What releases a Look
A laser Look's release undoes what that Look started where CueSync knows how. A Look that fired a cue releases with StopCueNow on the same page and cue, and one that fired a bare Play releases with StopAllNow; neither locks the scanner. A Look whose action is a raw line, an effect, a level, a colour, a stop or a blackout has no known inverse, so it releases with the latch, which locks the laser output the way a panic does, because dark and honest beats a guess. The Look editor's own line for a cue Look (releasing stops the cue, and only panic locks the output) holds for that case, not for the Looks that release with the latch.
The automation switch
Settings → Venues → open a venue → Info → Let automation drive lasers. It is off by default and applies per venue.
| Path | With the switch off | With it on |
|---|---|---|
| Blackout intent and its restore (a CUT gap closing) | Never reaches a laser | Reaches Beyond: DisableLaserOutput, then EnableLaserOutput |
| Set Intensity intent (the rig-wide master level) | Never reaches a laser | Sets the Beyond master |
| Set Effect intent | Never reaches a laser | Sends the effect on FX layer 1 for effect ids 1–100 |
| House state (sent when a show stops) | Laser steps are held back, and the venue editor says so | Laser steps are sent with the rest of the list |
| Panic, and a Blackout All pad | Always reaches it, as the latch | Same |
| A Look with an AutoPilot affinity, picked by AutoPilot | Skipped: a skipped entry in Recent Fires and one toast per Look per track | Fires with no operator cue |
| A cue, pad or Look you fire — by hand, by a cue's trigger, or from an AutoPilot moment's action list | Always fires | Same |
Note the second half of the top row: with the switch on, a machine can re-enable laser output at the end of an automatic blackout. That is why it is off by default. Turn it on only where the venue's laser safety arrangements allow a machine to do so.
The switch gates the generic automatic verbs, the venue's house state and a Look with an AutoPilot affinity that AutoPilot picks, as the rows above say. With the switch off, AutoPilot passes that Look over: it is not counted as fired, a lower-priority Look can still be chosen in its place, Recent Fires records a skipped entry naming the Look, and one toast per Look per track tells you which switch releases it. With the switch on, AutoPilot can fire the Look with no operator cue. A venue with no active profile counts as off. A Look with no AutoPilot affinity is manual-only. The switch does not gate a laser Look, pad or cue you fire yourself, or a laser action you put into an AutoPilot moment's action list: those are your own choice and always fire. The Look editor says so beside Auto-fire when you give a laser Look an affinity, and still lets you save. A venue profile can also tie a laser cue to the laser capability so it is skipped on a rig without one (see Venue Profiles).
5 · How Beyond is reached from Looks, pads and cues
| Surface | What happens |
|---|---|
| Look (Palette → New Look → Laser → Pangolin laser cue) | Fields Page (1-30) and Cue. Fires the cue recall. Release: StopCueNow for that page and cue. Tile state is SENT, never LIVE |
| Cue Pad | Templates Trigger Cue, Play, Stop, Blackout (toggle: On on press, Off on release), Master 100% (toggle: 100% then 0%), Effect |
| Built-in action templates | BEYOND Cue Play (zone 1, cue 1), BEYOND Stop, BEYOND Master Level. All explicit operator gestures |
| Go Show Cue intent | Not reached. There is no cue-go arm for a laser |
| Blackout, Set Intensity, Set Effect intents | Only with Let automation drive lasers on |
| House state (sent when a show stops) | Only with Let automation drive lasers on; otherwise its laser steps are held back |
| A Look with an AutoPilot affinity, picked by AutoPilot | Only with Let automation drive lasers on; otherwise AutoPilot skips it and says so |
| Panic | Always, as the latch |
Two template descriptions are easy to misread. BEYOND Stop is described as "Stop laser output", but it sends StopAllNow, which stops cue playback and does not disable the output. Blackout is the output switch. The Blackout pad template's release sends EnableLaserOutput: a person pressing the pad again is the human act that re-arms.
6 · Use cases
A · Fire a laser cue from a Theatre cue, with the safety rules
You want a cue at the finale to fire Beyond cue 3 on grid page 2.
- Before anything: agree with the laser operator that output may be enabled, and that Beyond's own output enable is the last gate. Confirm the projector interlocks.
- Network → Outputs → Add Output → Video → Pangolin Beyond, host = the Beyond machine, port 16063, Test Connection, Add Output. Expect green (app alive).
- In the Show Editor, route the laser lane to the Beyond output (Output Routing…). Set the cue's trigger to Manual.
- Add Action → your Beyond output → Pangolin Beyond. Zone (1-30)
2, Cue3. The row readsCue 3. - Add a second, later cue with Stop cue (needs Cue) ticked, Zone
2, Cue3, to end it. - Rehearse in DRY (nothing is sent), then with Beyond's output enabled only when the room is safe.
You should see: Beyond trigger page 2, cue 3 (CueDown(2,3), CueUp(2,3)). No confirmation comes back, so watch the grid in Beyond.
B · A laser Look with a release
- Palette → New Look ▾ → Laser → Pangolin laser cue. Set Page (1-30)
1and Cue1, then Create. - Fire it from Perform (or a Look action on a pad). The tile reads SENT.
- Right-click → Release, or use Release Bank.
You should see: the cue start, then stop when released (StopCueNow(1,1)). Output stays enabled. The tile cannot turn LIVE, because Beyond does not report back.
C · The panic drill and the re-arm
Do this in rehearsal, at the projector, before doors.
- Fire a laser cue so something is scanning.
- Press
Cmd+Shift+B. Expect the cue to stop and the output to go dark. - Fire another laser cue. It is sent and shows nothing. Open the notification history (
Cmd+Shift+H) and read the latched OFF note. - Release the panic. The laser stays dark.
- Fire the Blackout pad template's release (or an action with Set blackout ticked and Off). Or enable output in Beyond.
- Fire the cue again.
You should see: darkness until step 5, then the laser again. If step 4 relit the laser, stop and contact support: that is not expected behaviour.
D · Set one zone's level and colour
- Add Action → Pangolin Beyond: Zone (1-30)
2, Zone %50. Row:Z2 50%. - Add another: Zone
2, R255, G0, B0. Row:Colour Z2. The two linesControlZone(2)andRGBA(255,0,0,255)go out together. - To ride the whole rig, use Master % on its own.
You should see: zone 2 dim to half and turn red in Beyond. Whether a Live Control override persists in Beyond after your cue is Beyond's behaviour, not CueSync's.
Tips & gotchas
- TCP 16063, not 16062. 16062 is the UDP port.
- The panic locks the laser, and releasing it does not unlock it. A Set blackout → On action locks it too. Only a person re-arms it, unless Let automation drive lasers is on for the venue, in which case an automatic blackout's restore, or a house-state step, re-arms it.
- Stop is not off.
StopAllNowstops cue playback. Use Set blackout for the output switch. - A latched output swallows cues quietly. They are sent and show nothing. The note is in the notification history.
- Raw PangoScript bypasses the checks and the latch record.
- Zone means page for a cue.
- Nothing is confirmed. Watch Beyond.
- The switch is per venue. Check it when you activate a venue profile.
What has been checked
No Beyond has ever answered CueSync. The command vocabulary is Pangolin's published list; the TCP framing is one \r\n-terminated line per command; and the rules above (latch, panic, release, the automation switch, the 1-based grid) are built into CueSync. Link-health probing reads the socket and sends nothing. None of that is evidence about a real Beyond or a real scanner. See Desk Verification for a checklist to prove your own setup.
Related
- Network Outputs — Adding and testing outputs
- Palette — Building a laser Look and releasing it
- Cue Pads — The Pangolin pad templates
- Venue Profiles — The Let automation drive lasers switch and capability guards
- Interface — The panic controls
- Diagnostics — Flight Check depth labels
- Desk Verification — A checklist for proving your own setup
- What Each Action Can Send — Verb lists and the laser rule
- QLab · MIDI and MIDI Show Control · ETC Eos, ChamSys MagicQ and Avolites Titan
Looking for a quick fix?
The Help Center has short task-focused articles and a support team that responds within 24 hours.