← Manual

The programmer

Where you build a look: attribute controls, banks, live and blind.

The programmer is the scratch layer you build looks in. It sits on top of everything else - cues, faders, effects - so whatever you touch here is what the stage does, until you clear it or store it.

That is also the single most common cause of “my cue looks wrong”: something is still held in the programmer. CLEAR PROGRAMMER first, ask questions after.


In the GUI

The right-hand side of the Fixtures & Programmer view. It shows a control for every attribute the current selection actually has - select a dimmer and you get one fader; select a hybrid and you get pan, tilt, colour mixing, wheels, gobo rotation, prism, frost, zoom, focus, iris and shutter.

The programmer, showing the Basic bank

Controls are spread over bank pages, switched with the tabs at the top:

BankHolds
Quick AccessTiles for the palettes/presets/effects/targets valid for this selection - see Quick Access
BasicIntensity, colour mixing and the colour picker, position, colour wheel, colour temperature
GobosGobo wheels, with gobo rotation embedded beside the wheel it belongs to
BeamZoom, focus, iris, shutter/strobe, prism, frost
CustomColour macros, and anything else the fixture profile exposes

The programmer bank tabs

Colour macros live in Custom, not Basic. A macro is the manufacturer’s own list of canned looks - “Color Macro 1” to “Color Macro 64” on an LED bar - and it is not how you set a colour on the desk, so it sits with the fixture’s other vendor channels and leaves the Basic tab to the picker, the colour wheel and the colour temperature. The same goes for a second, coarser way to set colour temperature: where a fixture offers both a CTO slider and a wheel of Kelvin-labelled steps (the ADJ ElectraPix Bar does), the slider stays in Basic and the step list moves to Custom. A fixture whose macro or Kelvin list is the only colour control it has keeps it in Basic, where you would look for it.

A selection of mixed fixture types shows the attributes they have in common; where a wheel slot exists on some fixtures but not others, an amber note under the control says so (“Only showing gobos which match all selected fixtures”).


What the controls do

ControlBehaviour
SliderDrag, or click the number and type a value then press Enter
Dial (pan/tilt)Drag round; the number below reads in degrees
Colour pickerClick a colour; LMX converts it into whatever emitters the fixture actually has (RGB, RGBW, CMY, …)
Wheel stripClick a slot; only slots common to the whole selection are offered
Unset buttonDrops that one attribute out of the programmer
Warning markerA related value exists somewhere you cannot see it - on a head, on a group, or on a fixture inside a selected group

Every one of these echoes its command into the history, so the same edit typed by hand is always available.


From the command line

Attribute commands are attribute-led, not verb-led - the capability name is the command:

INTENSITY 100
RED 100 GREEN 40 BLUE 0
PAN -25 TILT 12
ZOOM 30 FOCUS 55
GOBO 3
SHUTTER.STROBE 4          # a segmented capability, addressed by segment

Several attributes can go on one line, and an explicit target can lead:

FIXTURE 1 THRU 4 INTENSITY 80 RED 100
GROUP 2 TILT -10

Levels the short way

Intensity is the one attribute you set constantly, so it has the shorthand every console shares. @ (or AT) means intensity, and FULL and OUT mean 100 and 0:

1 THRU 8 @ FULL         # same as 1 THRU 8 INTENSITY 100
1 THRU 4 @ 50
1@75                    # the spaces are optional
GROUP 2 AT 60
5 THRU 8 OUT

INTENSITY is still the canonical form and what the GUI echoes; this is a shorthand for it, not a second way of storing anything.

Values are kept in range

A capability publishes its own range - 0–100 for a dimmer, −270 to 270 for a pan, a Kelvin span for a colour temperature - and a value outside it is brought back to the nearest end, with a note saying so:

INTENSITY 250
Warning: 250 is outside the range 0..100 of 4 selected fixtures for 'intensity' - clamped to 100

The range is named whenever every fixture that was clamped shares one, which is what tells you why the value was refused rather than only where it landed. It matters most where a range is signed: a Rogue R3 Spot’s gobo rotation signs clockwise negative, so GOBO_ROTATE.ROTATE_CW 100 is out of range and comes back to −0.1 - the slowest clockwise speed, not the fastest.

GOBO_ROTATE.ROTATE_CW 100
Warning: 100 is outside the range -655..-0.1 of 1 selected fixture for 'gobo_rotate.rotate_cw' - clamped to -0.1

Typing GOBO_ROTATE.ROTATE_CW -100 is what asks for 100°/s clockwise. Where the selection’s fixtures disagree about the range there is no single one to quote, and the note says so instead.

A wheel is not clamped, because a gobo or colour wheel is addressed by its raw slot value rather than by the range the wheel publishes - GOBO 21 picks gobo 21 whatever the wheel’s own span happens to be.

The attribute names are the fixture profile’s own capability names - whatever the control in the programmer is labelled, that is what you type. SHOW FIXTURE <id> lists them for a given fixture.

To take a value back out:

FIXTURE 1 UNSET           # every attribute on those fixtures
CLEAR PROGRAMMER          # the whole programmer

Seeing what you are holding

SHOW PROGRAMMER           # everything in the programmer, by fixture
SHOW SELECTION            # what is selected
INSPECT FIXTURE 4         # where each of fixture 4's values comes from
INSPECT FIXTURE 4 CAP pan # …for one capability

INSPECT (alias WHY) is the one to reach for when a value is not what you expect: it prints the whole stack for that fixture - cue layer, fader, effect, programmer - and which one won.


Live and Blind

StateMeaningCommand
LiveProgrammer output reaches the merge and the rigLIVE
BlindProgrammer output is suppressed, including programmer effectsBLIND

Blind lets you build the next look while the current one keeps playing. The main window’s background turns dark blue so you cannot forget you are in it.

The local 3D visualiser can be told to show the blind programmer anyway, which is how you preview a blind look without putting it on stage:

CONFIG BLIND VISUALISER OFF|FULL|PROGRAMMER

Art-Net and sACN always send the real output, whatever the visualiser is showing.


Highlight, Lowlight and Solo

Three output overrides, on the fixture action row, that exist to show you what you have selected:

ButtonEffectCommand
HighlightSelected fixtures go to a bright, open, white stateHIGHLIGHT ON|OFF
LowlightUnselected fixtures drop to a dim levelLOWLIGHT ON|OFF
SoloOnly the selected fixtures output at allSOLO ON|OFF

What “highlight” and “lowlight” mean is configurable - level, colour, gobo, and which fixtures are exempt:

CONFIG HIGHLIGHT INTENSITY 100
CONFIG HIGHLIGHT RED 100 GREEN 100 BLUE 100
CONFIG HIGHLIGHT GOBO OPEN
CONFIG LOWLIGHT INTENSITY 15
CONFIG LOWLIGHT EXCLUDE 41 THRU 48

HTP or LTP

CONFIG PROGRAMMER HTP|FORCELTP decides how a programmer intensity meets the intensity already coming from playback:

  • HTP (highest takes precedence) - the brighter of the two wins, so pulling a programmer fader down does not darken a cue that is holding the same lamp up.
  • FORCELTP - the programmer’s value simply wins, up or down.

Non-intensity attributes are always LTP: the latest instruction wins.


What the programmer feeds

Everything downstream reads the programmer:

  • Store a cue - STORE CUE <n>, or the Programmer → button
  • Store a preset - STORE PRESET <n>, or Presets… → Store
  • Store a palette - STORE PALETTE <id> TYPE …, or Palettes… → Store
  • Store a group - STORE GROUP <n> "name"

STORE CUE <n> OUTPUT stores the whole live output instead - cues plus faders plus programmer, as the audience sees it. See Cues.


See also

Selecting fixtures · Fanning and spread · Quick Access · Palettes · Presets · Output and master controls

Related topics