DMX Channel Priorities

DMXDesktop layers many sources of DMX data on top of each other — a playing show, live effect buttons, manual fader nudges, MIDI commands, and more. They can all run at the same time, and they can all try to drive the same channel. The priority system decides which one wins, one channel at a time.

Every channel in every universe is evaluated independently. On each output frame the engine asks the same question for each channel: which active layer has the highest priority for this channel? The value from that layer is what gets sent to the fixture.

You'll usually only notice the layering on channels that more than one feature wants to drive — typically a fixture's dimmer (touched by the show, Blackout, Blinder, Strobe, effects and your manual faders) or its colour (touched by colour effects, the show and your overrides). Most channels are only driven by one thing at a time, so the layering is invisible.

Priority numbers run from 0 (highest priority — wins everything) to 100 (lowest — used only when nothing else is active). Where layers share a priority number they cover different channel types, so they don't actually compete with each other.

The Six Priority Groups

Layers are organised into six groups by purpose. The group decides roughly when the layer wins: overrides come first because they represent something the operator is doing right now, and default values come last as a safety net for channels nothing else is touching.

GroupPriorityWhat it covers
Overrides0 – 15Anything the operator is touching live: external DMX input, MIDI/OSC, Lamp Control, the manual fader bank, Macro Faders, and Live Edits.
Effects19 – 24Big-picture lighting moments — Blackout, Blinder, Strobe, Fog, plus Effect and Special Effect cues.
Preview34The preview output from the Cue Editor while you're auditioning a cue before saving.
Show35The active show or cue stack playing back.
FX40Cue output broken out by channel type — Position, Colour, Beam intensity, and Beam Attributes. These four sub-layers don't conflict because each one only writes to its own type of channel.
Wheels90Slow-moving wheel and option channels — Gobo, Prism, Options Cycle, and Auxiliary. Like FX, these split across different channels so they don't compete.
Default100The channel's home value from the fixture profile, used only when nothing else is touching it.

Full Layer Reference (Highest to Lowest Priority)

The table below lists every layer in priority order. Lower number = higher priority.

#LayerGroupWhat activates it
0DMX InputOverridesIncoming Art-Net or sACN data from an external console or another lighting system being passed through DMXDesktop.
5MIDI / OSCOverridesA MIDI or OSC binding driving a single DMX channel from a hardware controller.
8Lamp ControlOverridesStrike or Douse commands sent from the Lamp Control button on a group (discharge fixtures only).
10Manual OverridesOverridesA channel value you've dragged or locked in Live Controls, the DMX Table, or any single-channel control.
14Macro FadersOverridesA Macro Fader's current position — either dragged in the UI or moved by a bound MIDI fader.
15Live EditsOverridesA saved Live Edit snapshot that's currently active.
19Special EffectEffectsA pre-programmed whole-rig effect cue (Wave, Aurora, Paparazzi, Fire, etc.).
20BlackoutEffectsThe Blackout button on Live Controls (or a Blackout cue) — forces fixture intensities to 0.
21BlinderEffectsThe Blinder button — flashes fixture intensities to full.
22EffectEffectsA generic Effect-type cue applying a programmed effect to selected fixtures.
23StrobeEffectsThe Strobe button or a Strobe cue — rapid on/off pulsing of fixture intensities.
24FogEffectsThe Fog button or a Fog cue — drives fog and haze machine channels.
34PreviewPreviewLive output from the Cue Editor while you're auditioning a cue before saving it.
35ShowShowThe active show — your DJ-mode lighting timeline, cue stack playback, or whatever your main programme is.
40PositionFXCue output for pan/tilt channels (movement effects, position presets).
40ColourFXCue output for colour channels (RGB, CMY, colour wheel).
40BeamFXCue output for beam intensity (dimmer) channels.
40Beam AttributesFXCue output for non-intensity beam channels — zoom, focus, iris, frost, shutter and similar.
90GoboWheelsGobo wheel selection — set manually or driven by a gobo-cycling auxiliary effect.
90PrismWheelsPrism wheel selection — set manually or driven by a prism-cycling auxiliary effect.
90Options CycleWheelsCycling through option channels such as auto-programs, animation wheels, or macro patterns.
90AuxiliaryWheelsAuxiliary channel overrides — anything that doesn't fit the other categories (zoom holds, iris holds, focus, energy or BPM-driven channels).
100Default ValuesDefaultThe channel's home value from the fixture profile. Used only when no other layer is touching the channel.

Worked Examples

Example 1 — Manual fader vs the show

You're running a show with a programmed look. You grab the dimmer fader for one fixture in Live Controls and pull it down to 30%.

  • The Show layer (priority 35) is sending the programmed dimmer value.
  • Your manual move writes to the Manual Overrides layer (priority 10).
  • 10 beats 35, so your value wins. The fixture stays at 30% until you release the override.

Example 2 — Blackout while an effect is running

An Effect cue is running a colour chase, and you hit Blackout.

  • The Effect cue writes to the Colour layer (priority 40) and the Beam layer (40).
  • Blackout writes intensity 0 to the Blackout layer (priority 20).
  • For dimmer channels, Blackout (20) beats Beam (40) → fixtures go dark.
  • The colour channels are still being driven by the Effect layer because Blackout doesn't touch them — but you can't see colour without intensity, so the visible result is "everything off". Release Blackout and the chase is exactly where it was.

Example 3 — An external console takes over

Another console is feeding Art-Net into DMXDesktop on the same universes as your show.

  • DMX Input is priority 0 — the highest possible.
  • For any channel the external console is sending, that value wins over everything: show, effects, manual overrides, blackout, the lot.
  • For channels the external console isn't sending, your show continues to drive them as normal.

Example 4 — Two FX layers at the same priority

A cue is running a Movement effect (Position) and a Colour chase (Colour) at the same time.

  • Both sub-layers sit at priority 40.
  • They don't conflict because Position only writes to pan/tilt channels and Colour only writes to colour channels — different channels entirely.

When a Channel Isn't Behaving as Expected

If a fixture or channel isn't doing what you expect, walk down the priority list and ask "is anything at this level active for this channel?". The first match is the cause.

  1. Is an external console connected and sending DMX? DMX Input (priority 0) beats everything.
  2. Is there a MIDI or OSC binding on that channel? Priority 5 — check Settings → MIDI Config for any bindings on the fixture's channels.
  3. Is Lamp Control mid-strike or mid-douse? Priority 8 — holds for a few seconds after you press the button.
  4. Is the channel manually locked or pulled in Live Controls? Priority 10 — the most common reason a channel "won't respond" to the show. Release the override on the channel to drop it.
  5. Is a Macro Fader bound to that channel? Priority 14 — check the Macro Faders panel for active faders covering this fixture.
  6. Is a Live Edit active? Priority 15 — clear it from the Live Edits panel.
  7. Is Blackout, Blinder, Strobe, or Fog engaged? Priorities 20 – 24 — check the Live Controls bar.
  8. Is the Cue Editor previewing a cue? Priority 34 — close the preview.
  9. Is the show or cue stack playing? Priority 35.

If nothing above is active and the fixture is still sitting at a non-zero value, that value is coming from the channel's default in the fixture profile (priority 100). Edit the profile to change it.

FAQ

Why does a lower number mean higher priority?
Think of priority numbers as a queue position — 0 is at the front of the queue, 100 is at the back. The first layer in the queue with an active value wins.

Multiple layers share priority 40 (Position, Colour, Beam, Beam Attributes). What happens if they fight?
They can't. Each sub-layer only writes to its own type of channel — a dimmer channel never receives a value from the Colour layer, a pan channel never receives a value from the Beam layer. Sharing a priority number just means they're equally important within the FX group.

Same question for the four wheel layers at priority 90.
Same answer. Gobo, Prism, Options Cycle, and Auxiliary each write to their own channel types.

If two cues both write to the same channel, which wins?
Within a single layer, the most recent value wins. Across layers, the priority number wins first.

I want a channel to ignore everything except the show. Can I do that?
The priority order itself is fixed, but you can prevent conflicts by not engaging the overriding feature on that channel — don't bind MIDI to it, don't pull a manual fader on it, and don't include it in any Live Edit or Macro Fader.