DJ Mode Lighting Layers

Understanding how DMXDesktop decides what your lights do — from automatic show generation all the way to the final DMX output.

The Big Picture

When a track plays in DJ Mode, your lighting goes through four phases before reaching your fixtures.

1. SourceWhich show file?
2. BuildCompile the show
3. PlaybackLive adjustments
4. EngineFinal DMX output

1
Source Selection

The system checks if you've hand-crafted a timeline show for this track. If yes, it uses that. If not, it auto-generates one.

2
Show Compilation

Your global settings and any track-specific overrides are combined. A background process compiles every DMX frame for the track.

3
Live Playback

During playback, real-time controls (dimmers, color overrides, fade effects, dark-on-silence) modify the compiled frames before output.

4
Engine Mix

The DMX engine merges the show output with any active effects (strobes, blackout, blinders) and manual controls. Highest priority wins.

Show Source: Auto vs Timeline

The first decision: does a hand-crafted timeline show exist for this track?

Timeline Show (Manual)

  • You built this show in the Timeline Editor
  • Completely replaces the auto-generated show
  • Not affected by global DJ setting changes
  • Live controls still work on top of it
  • Must be rebuilt manually when you edit it

Auto-Generated Show

  • Built automatically based on audio analysis
  • Uses your global DJ settings
  • Can be customized with per-track overrides
  • Automatically rebuilds when settings change
  • Live controls work on top of it
💡 Key takeaway A timeline show always takes priority over an auto-generated show. If you've built one for a track, it will be used regardless of your DJ mode settings. However, all your live controls (dimmers, color overrides, dark-on-silence, fades) still work on top of it.

Build-Time Settings

These settings are "baked in" when the show is compiled. Changing them triggers a rebuild of the show file.

⚠ These only apply to auto-generated shows. Timeline These only apply to auto-generated shows. Timeline shows are compiled from your hand-crafted timeline and ignore these global settings entirely.

Color Theme

The color palette used throughout the show. Colors are baked directly into every DMX frame — changing this rebuilds the entire show.

Energy Level

Adjusts the overall intensity curve of effects. Higher energy means more dramatic lighting with brighter peaks.

Group Variety

Controls whether fixture groups run matching effects (synchronized), diverse effects (different per group), or random selections.

Strobe Frequency

Sets the speed of strobe effects: off, low, medium, or high. The strobe pattern is pre-generated into the show frames.

Gobo / Prism / Rotation Times

Minimum hold duration before gobos, prisms, or rotation effects change. Prevents effects from switching too rapidly.

Per-Group Build Settings

Each fixture group can also have its own build-time settings. These control what types of effects are generated for that group:

Group Enabled/Disabled

A disabled group is excluded entirely — no DMX data is generated for its fixtures.

Effects, Strobe, Wash, Kick

Toggle which effect types are generated for each group. For example, disable strobe for front-of-house wash fixtures.

Gobos, Prisms, Rotation

Enable or disable mechanical effects per group. Useful when certain fixtures don't have these features.

Move on Dark

When enabled, pan/tilt movements happen during dark moments so the audience doesn't see fixtures repositioning.

🎧
Per-Track Overrides

Override global settings for individual tracks. Perfect for that one song that needs a completely different look.

Each track can have its own overrides for these settings. When a per-track override is enabled, it replaces the global setting. When disabled, the global setting is used as a fallback.

How overrides are resolved:

Per-track override enabled? Use the track's value
Per-track override disabled? Use the global setting

Available per-track overrides:

Color Theme

Use a different palette for this track, overriding the global color theme.

Energy Level

Boost or reduce the energy level for this specific track.

Group Variety

Change whether effects are matching, diverse, or random for this track only.

Strobe Frequency

Override strobe speed for this track. Set to "off" for mellow songs.

Drop Triggers

Configure different drop trigger effects for this track's specific drops.

Group Settings

Override per-group build settings for this track (effects, strobe, wash flags, etc.).

💡 When do overrides trigger a rebuild? Enabling or changing a per-track override triggers a rebuild of that track's show. The system is smart enough to know that if a per-track override masks a global setting, changing that global setting won't trigger an unnecessary rebuild for that track.

Live Controls

These take effect instantly during playback — no rebuilding needed. They modify the show output frame by frame.

Dark on Silence Runtime

When audio drops below the silence threshold for a configured duration, lights dim to a set level and movement freezes. Takes over the entire output path — the most dominant runtime control.

Channel Overrides Runtime

Static per-channel values embedded in the show. These override everything in the normal path — the value is used exactly as-is with no dimming or fading applied.

Group Disable Runtime

Disabled groups output zero on all channels. A quick way to kill a group's lighting entirely.

Group Dimmer Runtime

A per-group brightness slider (0-100%). Scales colour and dimmer channels for that group. Adjusting this does NOT trigger a rebuild — it takes effect on the next frame.

Live Color Override Runtime

Replaces the show's colours with your chosen colour. Uses the show's brightness patterns as an intensity guide — so the lighting dynamics are preserved, just in a different colour. Has its own 3-tier priority system (see below).

Master Dimmer Runtime

Global brightness control (0-100%). Applied to colour and dimmer channels across all groups.

Fade In / Fade Out Runtime

Smooth brightness ramp at the start and end of a track. Configurable duration (0-10 seconds each). Applied to colour, dimmer, strobe, and energy channels.

Energy Curve Runtime

Adjusts how energy channels respond to audio levels. Different curve types (linear, smart, logarithmic, etc.) change the sensitivity. "Smart" mode provides a natural-feeling response with a minimum baseline.

Audio Volume Channel Runtime

Special channels that respond directly to the live audio level, ignoring the pre-compiled show value entirely. Useful for fixtures with volume-reactive features.

🎨
Color Override Tiers

The color override system has three priority tiers. The highest active tier always wins.

1
Cue Point Set by timeline cue points, auto-clears after duration
2
Track Set by audio analysis, clears on deck change
3
User / Global Set by you or mobile app, persists until manually cleared

Fallback Behaviour

When a higher-priority tier is cleared (e.g. a cue point's colour override expires), the system automatically falls back to the next active tier:

Cue point colour expires — what happens next?

Track-level colour set? Falls back to track colour
No track colour, user colour set? Falls back to user colour
Nothing else set? Override cleared — show's own colours used
💡 How the colour override preserves dynamics The colour override doesn't just paint everything one flat colour. It uses the show's original brightness pattern as a guide. If the show had a red flash going from dim to bright, applying a blue override would create a blue flash going dim to bright in the same pattern. The dynamics of your compiled show are preserved.

💥
Cue Points & Drop Triggers

Time-based events that fire during playback, triggering effects on top of the running show.

Cue Points

  • Placed manually on the timeline editor
  • Fire at exact timestamps during playback
  • Each has a type and a duration
  • Auto-stop when duration expires
  • Seek-aware: reset when you jump in the track

Drop Triggers

  • Detected automatically from audio waveform
  • Types: loud drops, quiet drops, or both
  • Configurable minimum interval between triggers
  • Can be set globally or per-track
  • Seek-aware: reset when you jump in the track

Available Triggered Actions

Strobe

Activates strobe on all fixtures. Overrides the show output at the engine level.

Blinder

All fixtures to full brightness. Overrides strobe and show output.

Blackout

All fixtures to zero. The highest-priority triggered effect.

Fog / Haze

Triggers the fog or haze machine for the specified duration.

Special Effect

Triggers a named special effect (e.g. a rainbow sweep, chase pattern).

Colour Override

Temporarily changes the colour palette. Uses the "cue point" tier (highest priority). Cue points only.

Freeze

Freezes all fixture values at their current state. Cue points only.

Effect

Triggers a generic effect overlay. Duration-limited with auto-stop.

💡 How triggered effects interact with the show Triggered effects (strobe, blinder, blackout, fog) write to dedicated engine layers that sit above the show output in priority. This means a triggered blackout will override the DJ show, and a triggered strobe will flash on top of whatever the show is doing. When the trigger duration expires, the show continues normally.

Engine Layers (Final Mix)

The DMX engine merges all active layers by priority. The lowest number wins — it overrides everything below it.

External DMX Input Priority 0 — Highest
MIDI Controller Priority 5
Manual Faders / Programmer Priority 10
Live Edit Triggers Priority 15
Blackout Priority 20
Blinder Priority 21
Triggered Effects Priority 22
Strobe Priority 23
Fog / Haze Priority 24
🎶 DJ Show Output Priority 35
Cue Effects (Movement, Colour, Beam) Priority 40
Gobo / Prism / Auxiliary Cycling Priority 90
Default / Home Values Priority 100 — Lowest
💡 What this means in practice When you're in DJ Mode, your show plays at priority 35. If you activate a blackout (priority 20), it overrides the show. If you move a manual fader (priority 10), that overrides both. A MIDI controller (priority 5) overrides the fader. The system always resolves to the highest-priority (lowest number) active value for each channel.

🔄
Per-Frame Processing Order

For every frame of playback, each DMX channel goes through this processing pipeline before reaching the engine.

1

Is Dark on Silence active?

If audio has been below the silence threshold for the buffer duration, the system enters a special path: colour/dimmer channels are dimmed to the silence level, movement freezes, and all other processing is skipped for affected channels.

2

Check for channel override

If a static channel override exists for this fixture/channel, use it directly with no scaling. This is an absolute value — no dimmer, fade, or other processing applies.

3

Is the group disabled?

If the fixture's group is disabled, output zero. All subsequent steps are skipped.

4

Apply group dimmer

Scale colour and dimmer channels by the group's dimmer percentage (0-100%).

5

Apply live colour override

If a colour override is active and this is a colour channel, replace the show's colour with the override colour. The show's brightness pattern is used as an intensity guide. Group dimmer and master dimmer are applied within the override calculation.

6

Apply master dimmer

Scale colour and dimmer channels by the master dimmer percentage. Special channels (audio volume, energy, BPM, derby) have their own processing instead.

7

Apply fade in / fade out

At the start and end of a track, smoothly ramp brightness up or down over the configured duration.

8

Send to engine

The processed value is written to the "show" layer in the DMX engine, where it's merged with all other active layers (effects, manual controls, MIDI, etc.) before final output.

💡
Common Scenarios — What Wins?

Quick reference for understanding which setting takes priority in real-world situations.

Show Source Conflicts

ScenarioWinnerLoser
Timeline show exists + auto-show existsTimeline showAuto-generated show
Timeline show + global settings changedTimeline show (unchanged)Global settings (no rebuild)
No timeline show + auto-show existsAuto-generated show

Build-Time Setting Conflicts

ScenarioWinnerLoser
Global colour theme + per-track colour (enabled)Per-track colourGlobal colour theme
Global strobe=high + per-track strobe=off (enabled)Per-track (off)Global (high)
Global energy + per-track energy (disabled)Global energyPer-track (ignored)

Runtime Control Conflicts

ScenarioWinnerLoser
Dark on Silence active + colour override activeDark on SilenceColour override (bypassed)
Dark on Silence active + channel override setDark on SilenceChannel override (bypassed)
Channel override + master dimmer at 50%Channel override (absolute)Master dimmer (not applied)
Group disabled + colour override activeGroup disabled (zero output)Colour override (skipped)
Audio volume channel + show valueLive audio levelShow's pre-compiled value
Colour override (user) + cue point colourCue point colour (tier 1)User colour (tier 3)
Fade-in ramp + dark on silenceBoth apply (stacked)

Engine Layer Conflicts

ScenarioWinnerLoser
Triggered blackout + DJ show playingBlackoutDJ show output
Triggered strobe + DJ show playingStrobeDJ show output
Manual fader moved + DJ show playingManual faderDJ show output
MIDI controller + manual faderMIDI controllerManual fader
DJ show + cue effects (beam/colour)DJ show (priority 35)Cue effects (priority 40)