Stoatworks Labs

Reference

The LivePremier OSC dictionary

173 addresses for driving an Analog Way LivePremier (Aquilon) switcher over OSC — takes, memory recalls on every bank, and the whole mappable parameter surface of a layer. Send them to LivePremier Plus, which listens on UDP and writes to the switcher over the vendor’s own AWJ protocol.

This space exists because a MIDI mapping already needed one. A fader is bound to a screen, a preset, a layer and a parameter, and that four-part address is the same thing whether it arrives as a control change or as an OSC packet. Writing it down turns an internal binding shape into something QLab, TouchOSC, Companion or a lighting desk can send at, with no code on either side.

Worked examples

  • /lp/screen/1/takeTransition screen 1.
  • /lp/screen/1/memory/5/recallLoad memory 5 into screen 1’s preview.
  • /lp/screen/1/memory/5/recall/programThe same, straight to air.
  • /lp/master/memory/12/storeSave the whole desk as master memory 12.
  • /lp/screen/1/preset/a/layer/2/opacity/opacity 128Half opacity, in the device’s own units.
  • /lp/screen/1/preset/a/layer/2/opacity/opacity/norm 0.5The same, from a fader.
  • /lp/screen/1/group/control/takeUpTime 20A two-second transition.

The five rules

1. The address is the target; the argument is only the value

Everything about what is being addressed is in the path, so a button with a fixed address and no argument still means something specific. That is the difference between a TouchOSC layout you draw once and one that needs logic behind every control.

2. A trigger fires on a non-zero argument, and on none at all

Surfaces send 1 on press and 0 on release. A take that fired on both would fire twice per press, and the second one is the one nobody meant. A release is logged as ignored rather than dropped, so a surface sending something correctly disregarded still shows up when you are wondering why nothing happened.

3. A recall never defaults to program

/lp/screen/1/memory/5/recall goes to preview. Reaching air always costs the explicit word — /program, or a take. An under-specified address must not be able to change what an audience is looking at.

4. Units are the device’s, unless the address ends /norm

A fader sends 0–1. The device wants 0–256 for opacity and −2000000 to 2000000 for a position. Which of the two 0.5 meant cannot be worked out from the value — it is a perfectly good literal position, half a pixel left of centre, and the middle of a fader’s throw. So it is said in the address instead. Two addresses, no guessing.

Without /norm the value goes as given and is clamped to the parameter’s own range. With it, 0–1 is scaled across that range; an enum walks its values, so a knob over position/anchor steps through the nine anchors.

5. preview and program are resolved, never assumed

They are not buffers. They are names for whichever of the device’s three preset buffers is pending or live right now, and a take swaps them — differently on different screens of the same device.

Over UDP, live layer parameters must name a buffer/a, /b or /c. Resolving preview orprogram needs the switcher’s current take state, which the listener does not hold, so it refuses those addresses with that reason rather than guessing. A layer move landing in whichever buffer happened to be live is exactly the failure this rule exists to prevent. Typed at the tool’s own console it works, because the page has the device’s state.

Not implemented, and reserved

There is no relative form. A relative step needs to know the current value, which makes it a property of the surface holding the encoder rather than of the address space — duplicating a control surface’s soft-pickup logic in an address would give two implementations of one idea. /rel is refused by name, so the reserved tail explains itself instead of looking like a typo.

Argument types

Numbers arrive as int32, int64, float32 or float64 and are all read as numbers. Strings carry enum values by name — LIVE_3 — matched case-insensitively; an enum may also be given as an integer index, because a button on a surface has nowhere to put a name, and an index is bounds-checked. A value the device does not have is refused rather than rounded to the nearest one.T/F are true and false, and an impulse is read as a press.

Bundles are unpacked and their contents run. Timetags are ignored: holding a video cue until a clock this machine does not share says so would make it fire late because two computers disagree about the time, which is worse than firing it now.

Nothing is ever sent back. This listens; it does not answer.

Every address

{n}, {slot}, {l} and {out} are placeholders; their ranges are in the description. A layer is numbered, or NATIVE.

Screens10
AddressArgumentWhat it does
/lp/screen/{n}/takenone, or 1 to fireTransition preview to program. screen is 1–24.
/lp/screen/{n}/cutnone, or 1 to fireSwap preview and program with no transition. screen is 1–24.
/lp/screen/{n}/memory/{slot}/recallnone, or 1 to fireRecall a memory into preview. Slots 1–1000.
/lp/screen/{n}/memory/{slot}/recall/{preview|program}none, or 1 to fireThe same, saying which preset. Without it, preview — never program.
/lp/screen/{n}/memory/{slot}/storenone, or 1 to fireStore the program preset into a memory.
/lp/screen/{n}/memory/{slot}/store/{preview|program}none, or 1 to fireThe same, saying which preset to take the look from.
/lp/screen/{n}/memory/{slot}/labelstringRename a memory.
/lp/screen/{n}/memory/{slot}/deletenone, or 1 to fireEmpty a memory slot.
/lp/screen/{n}/layer/{l}/memory/{slot}/recallnone, or 1 to fireRecall a layer memory. Layers 1–128 or NATIVE; slots 1–50.
/lp/screen/{n}/layer/{l}/memory/{slot}/storenone, or 1 to fireStore a layer memory.
Auxiliary screens10
AddressArgumentWhat it does
/lp/aux/{n}/takenone, or 1 to fireTransition preview to program. aux is 1–96.
/lp/aux/{n}/cutnone, or 1 to fireSwap preview and program with no transition. aux is 1–96.
/lp/aux/{n}/memory/{slot}/recallnone, or 1 to fireRecall a memory into preview. Slots 1–1000.
/lp/aux/{n}/memory/{slot}/recall/{preview|program}none, or 1 to fireThe same, saying which preset. Without it, preview — never program.
/lp/aux/{n}/memory/{slot}/storenone, or 1 to fireStore the program preset into a memory.
/lp/aux/{n}/memory/{slot}/store/{preview|program}none, or 1 to fireThe same, saying which preset to take the look from.
/lp/aux/{n}/memory/{slot}/labelstringRename a memory.
/lp/aux/{n}/memory/{slot}/deletenone, or 1 to fireEmpty a memory slot.
/lp/aux/{n}/layer/{l}/memory/{slot}/recallnone, or 1 to fireRecall a layer memory. Layers 1–128 or NATIVE; slots 1–50.
/lp/aux/{n}/layer/{l}/memory/{slot}/storenone, or 1 to fireStore a layer memory.
Master5
AddressArgumentWhat it does
/lp/master/memory/{slot}/recallnone, or 1 to fireRecall a master memory into preview. Slots 1–500.
/lp/master/memory/{slot}/recall/{preview|program}none, or 1 to fireThe same, saying which preset.
/lp/master/memory/{slot}/storenone, or 1 to fireStore a master memory with the bank’s own record mask.
/lp/master/memory/{slot}/labelstringRename a master memory.
/lp/master/memory/{slot}/deletenone, or 1 to fireEmpty a master memory slot.
Multiviewer2
AddressArgumentWhat it does
/lp/multiviewer/{out}/memory/{slot}/recallnone, or 1 to fireRecall a multiviewer layout onto an output. Outputs 1–8, slots 1–50.
/lp/multiviewer/{out}/memory/{slot}/storenone, or 1 to fireStore a multiviewer layout.
Layer parameters126
AddressArgumentWhat it does
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/blueint 0–255Set border.edge.color.blue.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/blue/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/greenint 0–255Set border.edge.color.green.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/green/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/redint 0–255Set border.edge.color.red.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/color/red/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/opacityint 0–255Set border.edge.opacity.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/opacity/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/radiusint 0–255Set border.edge.radius.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/radius/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/sizeHint 0–255Set border.edge.sizeH.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/sizeH/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/sizeVint 0–255Set border.edge.sizeV.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/sizeV/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/edge/stylestructured valueSet border.edge.style.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/blueint 0–255Set border.shadow.color.blue.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/blue/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/greenint 0–255Set border.shadow.color.green.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/green/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/redint 0–255Set border.shadow.color.red.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/color/red/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/opacityint 0–255Set border.shadow.opacity.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/opacity/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/radiusint 0–255Set border.shadow.radius.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/radius/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/sizeHint -512–512Set border.shadow.sizeH.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/sizeH/normfloat 0–1The same, as a fader position over -512 to 512.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/sizeVint -512–512Set border.shadow.sizeV.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/sizeV/normfloat 0–1The same, as a fader position over -512 to 512.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/border/shadow/stylestructured valueSet border.shadow.style.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/aspectOverridevalue name from PE_ASPECTOUT, or an indexSet cropping.classic.aspectOverride. 5 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/aspectOverride/normfloat 0–1The same, as a fader position over 5 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/bottomint 0–65535Set cropping.classic.bottom.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/bottom/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/leftint 0–65535Set cropping.classic.left.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/left/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/rightint 0–65535Set cropping.classic.right.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/right/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/topint 0–65535Set cropping.classic.top.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/classic/top/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/bottomint 0–65535Set cropping.mask.bottom.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/bottom/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/leftint 0–65535Set cropping.mask.left.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/left/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/rightint 0–65535Set cropping.mask.right.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/right/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/topint 0–65535Set cropping.mask.top.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cropping/mask/top/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/bottomint 0–65535Set cutNFill.cut.cropping.bottom.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/bottom/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/leftint 0–65535Set cutNFill.cut.cropping.left.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/left/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/rightint 0–65535Set cutNFill.cut.cropping.right.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/right/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/topint 0–65535Set cutNFill.cut.cropping.top.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/cropping/top/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/curveint 0–4294967295Set cutNFill.cut.curve.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/curve/normfloat 0–1The same, as a fader position over 0 to 4294967295.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/flagsstructured valueSet cutNFill.cut.flags.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/inputNumvalue name from INPUTLAYER_LOGIC, or an indexSet cutNFill.cut.inputNum. 482 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/cut/inputNum/normfloat 0–1The same, as a fader position over 482 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/typevalue name from PE_MASK_TYPE, or an indexSet cutNFill.type. 3 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/cutNFill/type/normfloat 0–1The same, as a fader position over 3 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/effects/flagsstructured valueSet effects.flags.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/effects/strobe/framesint 2–255Set effects.strobe.frames.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/effects/strobe/frames/normfloat 0–1The same, as a fader position over 2 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point1/posHint -32768–32767Set flying.point1.posH.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point1/posH/normfloat 0–1The same, as a fader position over -32768 to 32767.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point1/posVint -32768–32767Set flying.point1.posV.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point1/posV/normfloat 0–1The same, as a fader position over -32768 to 32767.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point2/posHint -32768–32767Set flying.point2.posH.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point2/posH/normfloat 0–1The same, as a fader position over -32768 to 32767.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point2/posVint -32768–32767Set flying.point2.posV.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/point2/posV/normfloat 0–1The same, as a fader position over -32768 to 32767.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/typevalue name from PE_FLYING_TYPE, or an indexSet flying.type. 5 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/flying/type/normfloat 0–1The same, as a fader position over 5 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/keying/enablenone, or 1 to fireSet keying.enable.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/keying/sourcevalue name from LAYER_KEYER_BANK_SELECT, or an indexSet keying.source. 51 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/keying/source/normfloat 0–1The same, as a fader position over 51 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/opacity/opacityint 0–256Layer opacity. The range is 0–256, not 0–100.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/opacity/opacity/normfloat 0–1The same, as a fader position over 0 to 256.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/anchorvalue name from ANCHOR, or an indexWhich point of the layer its position refers to. The device defaults to MIDDLE_CENTER.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/anchor/normfloat 0–1The same, as a fader position over 9 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/posHnumber -2000000–2000000Horizontal centre of the layer, in pixels. Negative is normal — the anchor is the centre, so a layer half off the canvas has a negative position.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/posH/normfloat 0–1The same, as a fader position over -2000000 to 2000000.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/posVnumber -2000000–2000000Vertical centre of the layer, in pixels.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/posV/normfloat 0–1The same, as a fader position over -2000000 to 2000000.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/sizeHnumber 0–1000000Layer width in pixels.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/sizeH/normfloat 0–1The same, as a fader position over 0 to 1000000.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/sizeVnumber 0–1000000Layer height in pixels.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/sizeV/normfloat 0–1The same, as a fader position over 0 to 1000000.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/stereo3d/posZnumber -2000000–2000000Set position.stereo3d.posZ.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/position/stereo3d/posZ/normfloat 0–1The same, as a fader position over -2000000 to 2000000.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/blueint 0–255Set source.color.blue.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/blue/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/greenint 0–255Set source.color.green.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/green/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/redint 0–255Set source.color.red.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/color/red/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/inputNumvalue name from INPUTLAYER_LOGIC, or an indexWhich input the layer shows. An enum name, not a number.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/source/inputNum/normfloat 0–1The same, as a fader position over 482 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/point1int 0–255Set speed.point1.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/point1/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/point2int 0–255Set speed.point2.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/point2/normfloat 0–1The same, as a fader position over 0 to 255.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/typevalue name from PE_TBAR_TYPE, or an indexSet speed.type. 2 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/speed/type/normfloat 0–1The same, as a fader position over 2 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/closing/endint 0–65535Set timing.closing.end.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/closing/end/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/closing/startint 0–65535Set timing.closing.start.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/closing/start/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/opening/endint 0–65535Set timing.opening.end.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/opening/end/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/opening/startint 0–65535Set timing.opening.start.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/opening/start/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/ratioint 0–65535Set timing.ratio.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/timing/ratio/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/closing/typevalue name from ELEMENT_TRANSITION, or an indexSet transition.closing.type. 6 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/closing/type/normfloat 0–1The same, as a fader position over 6 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/closing/wayvalue name from TRANSITION_WAY, or an indexSet transition.closing.way. 11 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/closing/way/normfloat 0–1The same, as a fader position over 11 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/flagsstructured valueSet transition.flags.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/opening/typevalue name from ELEMENT_TRANSITION, or an indexSet transition.opening.type. 6 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/opening/type/normfloat 0–1The same, as a fader position over 6 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/opening/wayvalue name from TRANSITION_WAY, or an indexSet transition.opening.way. 11 values.
/lp/screen/{n}/preset/{preview|program|a|b|c}/layer/{l}/transition/opening/way/normfloat 0–1The same, as a fader position over 11 values.
Screen group20
AddressArgumentWhat it does
/lp/screen/{n}/group/control/copyModenone, or 1 to fireSet control.copyMode.
/lp/screen/{n}/group/control/presetDownvalue name from PRESET, or an indexSet control.presetDown. 3 values.
/lp/screen/{n}/group/control/presetDown/normfloat 0–1The same, as a fader position over 3 values.
/lp/screen/{n}/group/control/presetPreviousvalue name from PRESET, or an indexSet control.presetPrevious. 3 values.
/lp/screen/{n}/group/control/presetPrevious/normfloat 0–1The same, as a fader position over 3 values.
/lp/screen/{n}/group/control/presetUpvalue name from PRESET, or an indexSet control.presetUp. 3 values.
/lp/screen/{n}/group/control/presetUp/normfloat 0–1The same, as a fader position over 3 values.
/lp/screen/{n}/group/control/takeDownTimeint 0–3000Transition time towards the down preset, in tenths of a second.
/lp/screen/{n}/group/control/takeDownTime/normfloat 0–1The same, as a fader position over 0 to 3000.
/lp/screen/{n}/group/control/takeUpTimeint 0–3000Transition time towards the up preset, in tenths of a second.
/lp/screen/{n}/group/control/takeUpTime/normfloat 0–1The same, as a fader position over 0 to 3000.
/lp/screen/{n}/group/control/tbarPositionint 0–65535T-bar position. Full throw completes the transition.
/lp/screen/{n}/group/control/tbarPosition/normfloat 0–1The same, as a fader position over 0 to 65535.
/lp/screen/{n}/group/control/xCopyProgramToPreviewnone, or 1 to fireCopy what is on air back into preview.
/lp/screen/{n}/group/control/xCutnone, or 1 to fireSwap preview and program with no transition.
/lp/screen/{n}/group/control/xStepBacknone, or 1 to fireUndo the last take.
/lp/screen/{n}/group/control/xTakenone, or 1 to fireTransition preview to program.
/lp/screen/{n}/group/control/xTakeAbortnone, or 1 to fireStop a transition in progress.
/lp/screen/{n}/group/control/xTakeDownnone, or 1 to fireRun the transition towards the down preset.
/lp/screen/{n}/group/control/xTakeUpnone, or 1 to fireRun the transition towards the up preset.

Where these came from

The memory, take and multiviewer addresses are verified against LivePremier firmware6.2.73. The layer and screen-group parameters —67 and 19 of them — come from a switcher’s own Web RCS bundle, read off a NLC_CMAX, so every range above is the device’s statement about itself rather than a number copied out of a PDF.

This table is generated from the implementation, not transcribed: it is the output of the same call the tool’s console resolves an address with. Regenerate the parameter catalogue against different firmware and the dictionary follows, with nobody editing prose. Copied from livepremier-plus at 687c09d4b5c0.

The listener is off by default, binds to loopback unless told otherwise, and writes to the switcher over AWJ on TCP 10606 — so it works with no browser open, which is the point of a show-control input. That port can be disabled in the switcher’s own Web RCS security settings; when it is, every message fails with the same connection error.