Documentation

The DMXexpress guide

Every window in the app, explained in plain language with step-by-step how-tos. Pick a category, then a topic. Each page links straight to the controls you will actually click.

Getting Started

What DMXexpress is

DMXexpress is a native lighting controller with a built-in 3D visualizer. You patch fixtures, build looks, run effects, record cues, and stream the result to the real world over Art-Net. Everything happens in one window, and everything you build is visible on the virtual stage as you build it.

The one big idea

You build a look in the Programmer, then store it into something reusable — a Palette, a Preset, a Phaser, or a Cue. Playback runs underneath the Programmer, so whatever you are editing always wins until you clear it.

If you have read grandMA3 tutorials

DMXexpress is modelled on grandMA3 with friendlier names. Here is the translation:

DMXexpressgrandMA3What it is
ProgrammerProgrammerYour live scratch pad of values you are editing right now
GroupsGroupsSaved fixture selections
PalettesPresetsSaved values for one feature (color, position, and so on)
PresetsSnapshotsA whole-rig look, stored straight from the Programmer
PhasersPhasers / EffectsMoving, rolling effects built from channel components
StacksSequences / Cue listsAn ordered list of looks you step through
DecksExecutorsThe faders and Go buttons that play your stacks
ViewsViewsSaved window layouts

Suggested order of operations

Patch and Art-Net, then Groups, then Palettes (color and position first), then Phasers, then Stacks to record cues, then Decks to play, then Views to save your layout.

Getting Started

Install and run

DMXexpress builds from source with a current Rust toolchain. You need a GPU supported by wgpu and macOS or a compatible Linux desktop. An Art-Net node is only required for live output — the visualizer works with nothing else on the network.

Build and run
# run in development
cargo run

# optimized build
cargo build --release
./target/release/dmxpress

# run the tests
cargo test

First launch

  1. DMXexpress reads a ShowBuddy patch on startup if one is available. The top toolbar and the Log window report how many fixtures loaded.
  2. If you have no ShowBuddy patch, open Patch and add fixtures from the built-in profiles instead.
  3. Set Universe in the toolbar to your base universe. Slots 1–512 go there, slots 513–1024 to the next universe.
  4. Press ArtPoll to discover Art-Net devices, then pick a node in the Art-Net panel.
  5. Leave the Log window open while you learn — it narrates everything you do.

Network safety

DMXexpress transmits live lighting data. Confirm the selected interface, universe, patch, and Grand Master before connecting it to a real rig.

Getting Started

The screen at a glance

One window, four fixed regions, and a set of floating windows you toggle from the top toolbar. Every panel has its own small A- / A+ zoom stepper in its corner, so you can size each area independently.

Top toolbar — Universe, ArtPoll, Freeze, Reload patch, and one chip per window
FixturesEvery patched fixture as a color tile. Click to select.
3D stage viewLive beams. Click, drag, and gizmo your rig.
Channel controlSliders for the current selection. This is the Programmer.
InspectorPresets, ShowBuddy banks, transform editor, setups.
Decks — Grand Master plus one strip per stack (when shown)
Command line (when shown)

Toolbar chips

Art-Net, Oscillator, Transition, Chases, Groups, Palettes, Phasers, Beat, Stacks, Decks, Cmd, Views, Log, Patch, Configs, DMX, and Settings. Each one shows or hides its window. Art-Net docks to the top, Decks and Cmd dock to the bottom; the rest float.

Save the layouts you use

Build a programming layout and a playback layout, then store each one in Views. Views capture the open windows and the stage camera.

Getting Started

The Programmer, and why Clear matters

This is the single concept that trips up every newcomer, so it gets its own page.

What the Programmer is

  • It holds every channel you have touched since the last Clear.
  • It is an overlay that sits on top of all playback. While a channel is in the Programmer, you control it, not the cues.
  • Store copies the Programmer into a palette or cue. It does not clear it.
  • Only active channels get stored, which is what makes cue tracking work.

How to release it

  1. Press Clear in the Palettes window, or Clear prog in the Stacks window.
  2. Or type clear (or c) in the command line.
  3. Watch the n programmer ch active readout drop to zero.

Golden rule

After you record cues, clear the Programmer. If your faders and Go button appear to do nothing, it is almost always because the Programmer is still holding those channels.

Active-channel readouts

Both the Palettes window and the Stacks window show a live count of active Programmer channels. Use it as your safety light: a non-zero count means playback is being overridden somewhere.

Getting Started

Your first show

A complete run-through that produces a three-cue show. Assumes a few moving heads are patched. Do this once and the rest of the guide will make sense.

A. Save a selection

  1. Select all your movers in the Fixtures panel or on the stage.
  2. Open Groups, type Movers, press Store.

B. Build palettes

  1. With Movers selected, dial full blue in Channel control.
  2. Open Palettes, pick the Color tab, type Blue, press Store Color.
  3. Dial red, store it as Red.
  4. Point the movers at the crowd with Pan and Tilt, switch to the Position tab, store it as Audience.
  5. Point them center stage and store Center.

C. Record three cues

  1. Open Stacks, press New, name the stack Main.
  2. Recall the Movers group, click Blue, click Center, set Dimmer to full.
  3. Set Fade to 3 seconds and press Store cue. That is cue 1.
  4. Click Red, click Audience, press Store cue. That is cue 2.
  5. Open Phasers, add a PAN component, press Apply, return to Stacks and press Store cue. That is cue 3.

D. Play it

  1. Press Clear prog. This step is not optional.
  2. Open Decks, push the Main fader up.
  3. Press Go to step through cues 1, 2, and 3, each fading over its time.
  4. Pull GM down to dim the whole rig.

It is already saved

Groups, palettes, phasers, stacks, and views are written to disk automatically. Reopen DMXexpress and your show is still there.

Rig & Stage · Patch

Patch

Adds fixtures from the built-in DMXexpress profiles on top of (or instead of) the ShowBuddy patch. This is where your rig is defined in DMX terms.

How to patch a fixture

  1. Open Patch from the toolbar.
  2. Pick a fixture from the Profile dropdown. The line underneath reports its channel count and pan/tilt range.
  3. Type a Name, set the Address (1–1024) and a Count (1–32).
  4. Press Add. Addresses advance automatically and multiples get numbered suffixes.

Managing what is in the rig

ControlWhat it does
Include ShowBuddy patchUntick to work with a DMXexpress-only rig. ShowBuddy preset banks are hidden too, and everything returns when you re-tick it.
DMXexpress fixturesFixtures you patched here. The cross button unpatches one.
ShowBuddy fixturesFixtures from the imported patch. The cross button removes one from the rig, but it stays restorable.
Removed / Restore allBrings excluded fixtures back into the rig.
Reload ShowBuddy patchTop toolbar button. Press it after editing the patch in ShowBuddy.

Address 513 and up

Slots 1–512 go to the base universe set in the toolbar. Slots 513–1024 go to the next universe up. A fixture that would run past slot 1024 is rejected and the reason is written to the Log.

Rig & Stage · Fixtures panel

Fixtures panel

The left rail. One tile per patched fixture, filled with that fixture's live output color, so the panel doubles as an at-a-glance rig monitor.

Reading a tile

  • Top-left text is the fixture name, truncated to fit.
  • Bottom-left text is its DMX start address.
  • The fill is the fixture's current output color; text flips to black on bright fills.
  • A thick blue outline means selected.
  • Hovering shows the full name, the DMX range, and the channel count.

Selection modifiers

ActionResult
ClickSelect just this fixture, replacing the current selection
Shift-clickAdd or remove this fixture from the selection
Cmd-click (Ctrl on Linux)Select every fixture of the same type

Sizing the grid

Use the A- / A+ stepper in the panel header to shrink the tiles when you have a big rig, or enlarge them for touch use.

Rig & Stage · 3D stage view

3D stage view

The upper half of the center panel. It is both your pre-visualization tool and your programming feedback loop: select fixtures on stage, drag them into position, and watch volumetric beams respond live.

Camera

ModeControls
Orbit (default)Right-drag or Alt-left-drag to orbit, middle-drag to pan, scroll to zoom.
Free flyRight-drag to look, W A S D to move, Space up, Shift down, arrow keys to look, scroll to change fly speed.

Switch modes with the Orbit / Free fly toggle at the top of the Inspector.

Selecting on stage

  • Click a light to select it; click empty space to clear.
  • Shift-click to toggle a light in or out of the selection.
  • Cmd-click to grab every fixture of that type.
  • Shift-drag across empty space for a marquee selection.

Moving things

  1. Drag a light to slide it across the floor plane.
  2. Hold Cmd while dragging to change its height instead.
  3. Drag a light near a tower's blue ring to snap it onto that slot; drag it away to detach.
  4. Grab a gizmo arrow to move the whole selection along one axis, or a gizmo ring to rotate it around the selection centroid.
  5. Drag the stage box edge arrows to resize the stage itself.

Keyboard (with the stage hovered)

KeyAction
Cmd-ZUndo the last stage edit
Cmd-DDuplicate the selection
Backspace or DeleteDelete the selected copies, or the selected tower when nothing is selected

Rig & Stage · Inspector

Inspector

The right rail. Below the Presets and ShowBuddy sections sits the transform editor: precise numeric control over whatever is selected on stage.

One light selected

You get its name and DMX range, its archetype, and a grid of X, Y (height), Z, then either Base spin for moving heads or Yaw and Pitch for fixed bodies, plus Size and a Housing opacity slider for the visualizer. Editing X, Y, or Z detaches the light from its tower; rotating does not.

Several lights selected

The grid becomes nudge controls: ΔX, ΔY, ΔZ, a Size multiplier, and ΔSpin, ΔYaw, ΔPitch. Each drag applies its delta once to the whole selection and resets to zero.

Towers

  1. Press Add tower at the bottom of the panel. A tower is a floor stand with one crossbar and eight light slots.
  2. Drag lights near the blue rings to snap them on.
  3. Select the tower to edit its X, Z, Yaw, Height, and Width.
  4. Press Delete tower to remove it.

Other buttons

ControlWhat it does
DuplicateCopies the selection, same as Cmd-D on the stage.
Remove copyDeletes a copy. The last copy of each fixture always stays.
SetupsA collapsing section: name an arrangement and press Save, then Load it later. Setups store light placement and towers only.
Reset light positionsOpens a confirmation dialog, then rebuilds the layout from the defaults in Settings.

Rig & Stage · Settings

Settings

A small window covering the physical stage dimensions and how the visualizer renders. Every change is written to settings.json immediately.

SectionControlNotes
StageWidth (m)1–40. Default 8 m total.
Depth (m)1–40. Default 6 m total.
Height (m)0–5. Height of the stage deck itself.
LightsBody size0.2–5.0 multiplier for fixture bodies.
Beam opacity0.0–3.0. Lower it to read overall colors, raise it for dense haze.
New light defaultsHeight (m)0–20. Used for unplaced lights and layout resets.
Yaw-360 to 360 degrees.
Pitch-180 to 180 degrees. -90 points down, 90 up, 0 toward the audience.

Match your real room first

Set the stage width, depth, and height before you place fixtures. Everything you position afterwards will then translate straight to the venue.

Rig & Stage · Configs

Configs and setups

Two different scopes of save. A configuration is the whole show. A setup is just the physical arrangement.

What a configuration contains

Stage settings, the 3D layout (placements, duplicates, towers), patched fixtures, whether the ShowBuddy patch is included, excluded fixtures, groups, palettes, phasers, presets and preset folders, stacks, views, the universe, the grand master, and the cue fade time. Files land in configs/ as readable JSON.

How to save and load a show

  1. Open Configs from the toolbar.
  2. Type a configuration name and press Save.
  3. Press Load on any row to swap the entire show over.
  4. Press the trash button and confirm to delete one.

Starting fresh

  1. Press New show.
  2. Tick Remove ShowBuddy lights and presets to keep only DMXexpress fixtures.
  3. Tick Reset light positions to defaults if you want a clean stage.
  4. Press Start fresh. Stage settings and DMXexpress-patched fixtures are kept.

Setups are lighter

Setups live in the Setups section of the Inspector, not here. They store light placement and towers only, so you can reuse a rig arrangement across different shows.

Programming · Channel control

Channel control

The lower half of the center panel. This is the Programmer. What it shows depends on how many fixtures are selected.

One fixture selected

You get one row per physical channel, labelled with its DMX address and channel name. Good for dialling in a single fixture or checking exactly what a profile exposes.

Several fixtures selected

Rows collapse into channel types, each labelled with a count. Dragging the Dimmer row moves the dimmer on every selected fixture at once, even across different fixture models.

What is in a row

ElementPurpose
Colored role badgeDIM, RED, GRN, BLU, WHT, COL, STRB, PAN, PANf, TILT, TILTf, ZOOM, or SPD.
Row labelClick to arm the channel for the Oscillator window.
Slider0–255.
0 and 255 buttonsHard minimum and maximum.
Band labelFor channels with named ranges, shows what the current value means.

Arming channels

  1. Click a row label to arm it. Clicking a different row replaces the armed set.
  2. Shift-click or Cmd-click to arm several rows at once.
  3. The bottom row shows n ch armed with a small clear button.
  4. Open Oscillator to animate whatever is armed.

Bottom row

Blackout sets every channel of every target fixture to 0. Full sets them to 255. Both act on the selection only.

Programming · Groups

Groups

A group is a saved fixture selection — no values. Build the ones you keep coming back to and everything downstream gets faster.

How to build and use groups

  1. Select fixtures on stage or in the Fixtures panel.
  2. Type a name and press Store. The button is disabled with an empty selection.
  3. Click a tile to recall it, replacing the current selection.
  4. Shift-click several tiles to combine groups into one selection. The click order is remembered as a chain, shown as #1, #2 on the tiles — that chain is what the Orders window turns into a route.
  5. Right-click a tile for Recall, Add to selection, Update from selection, and Delete.

Effect phase mode

The right-click menu also offers Individual fixtures or One fixture. In One fixture mode the entire group takes a single phase slot in phaser spreads, so a cluster of pars behaves as one unit inside a chase instead of fanning internally. It also collapses to a single point in space, so spatial chases sweep past the whole cluster at once. Tiles show a 1 light marker when this mode is on.

Because a folded group has to move as one, the stage will not let you select part of it — clicking any member pulls in the rest.

Editing several groups at once

Shift-click a run of groups, then right-click any of them. Below the per-group controls you get a Chained groups section with All: individual fixtures and All: one light each, so a whole route can be folded or freed in one action.

An active order overrules the mode shown here

If the running order folds lights into a multi-light step, those lights move as one no matter what their group says. The pool tells you so: an ORDER banner appears at the top, affected tiles read · order, and the right-click menu offers Release from order to split the step back apart.

Groups worth having

All Movers, Front Wash, Back Truss, Odd, Even, and one group per tower. Ten minutes of setup here saves the whole night.

Programming · Orders

Orders

An order is the path an effect travels. Without one, every spread fans out in fixture number order, which is rarely the shape you actually want on stage.

What an order is made of

An order is a list of steps. Each step holds one light, or several lights that share a phase and move together as a single super-fixture. A phaser hands out one phase slot per step, in order, so the steps decide both the sequence and what counts as one light.

How to build one from groups

  1. In Groups, click the first group, then shift-click the rest in the order you want the effect to travel. Tiles number themselves as you go.
  2. Open Orders. The chain appears at the top as numbered pills.
  3. Type a name, then choose how the chain becomes steps:
  4. Store lights — one step per light, still sequenced group by group. A light already placed by an earlier group is not repeated.
  5. Store groups as fixtures — one step per group, so each group takes a single phase slot and moves as one light.

Store selection in patch order ignores the chain and uses the raw stage selection instead.

Running and editing

  • Click an order tile to make it the active route; click Patch order to go back to fixture numbering.
  • The tile shows how many steps it has and how many of those are multi-light units.
  • Right-click for Edit, Select its fixtures, Reverse, and Delete.
  • In the editor, each step can move up or down, merge into the step above it (folding two slots into one), split back into one step per light, or be removed.

Overlapping groups

A light can belong to several groups, which used to make its phase ambiguous. The active order settles it: order steps claim their lights first, in sequence, then any One fixture group still wholly unclaimed collapses into a unit, and whatever is left keeps patch order with one slot each.

Folded steps cannot be picked apart on stage

While an order with multi-light steps is active, clicking one of those lights selects the whole step — and the Groups window may still describe them as individual fixtures. The Orders window warns you when this is happening and offers Split every folded step to undo it in one press.

Where orders show up

Phaser spreads, palette cycle spacing, and the spatial position an effect reads for each unit. The Phasers window prints the live unit count and which route it is following, so you can see the shape before you commit to it.

Programming · Palettes

Palettes

The most important pool to set up first. A palette is a saved value for one feature, which is what lets you recall a color without disturbing where the lights are pointing.

The six feature tabs

TabCovers
DimmerIntensity
PositionPan and tilt, including fine channels
ColorRed, green, blue, white, color wheels
BeamStrobe and shutter
FocusZoom
ControlSpeed and everything else

How to store a palette

  1. Pick a feature tab, for example Color.
  2. Select fixtures and set the values you want in Channel control.
  3. Type a name and press Store Color (the button is named after the active tab).
  4. Repeat for the handful you will actually reuse: a few colors, four to eight positions, and a couple of dimmer levels.

Using palettes

  • Click a tile to recall it into the Programmer for the current selection.
  • Right-click for Recall, Add to cycle, Update from selection, and Delete.
  • A blue outline means the Programmer is currently referencing that palette.
  • The Fade row sets the recall crossfade: M follows the master Transition window, C uses the custom seconds beside it, and a dash means no fade.

Why palettes are referenced

When you record a cue using a palette, the cue remembers "Color equals the Blue palette", not raw numbers. Re-tint or re-aim the palette later and your cues follow. References resolve when the cue fires, so re-fire a cue to pick up a palette edit — a cue already live on stage will not change underneath you.

A normal look is three clicks

Recall a group, click a color palette, click a position palette, set a dimmer.

Programming · Presets

Presets

Where a palette stores one feature, a preset stores the whole look — every Programmer value plus any running oscillations. Presets live at the top of the Inspector.

How to store and organize presets

  1. Build a look in the Programmer.
  2. Type a name and press Store look.
  3. Press Folder to add a folder.
  4. Tick drag, then drag presets onto a folder to file them, onto another preset to reorder, or onto the Presets heading to unfile them.
  5. Untick drag so clicks apply presets again.
  6. Right-click a preset for Overwrite with current look or Delete.

ShowBuddy banks

If your ShowBuddy show has preset banks, they appear in their own section below. One bank opens at a time; clicking a preset inside applies it to the whole rig. This is the fastest way to drop into a known look before you start editing.

Blackout all

The Blackout all button writes a black frame and releases everything: the active preset, all running phasers, holds, any transition in progress, and the chase. It is the panic button, and unlike the Grand Master it also drops effects.

Presets feed the Chases window

The Chases window injects a preset across the rig, so store the looks you want to sweep before you go build a chase.

Programming · Transition

Transition

Controls how the Programmer crossfades from its current look to a new one. Set it once and every palette and preset recall bound to M uses it.

Core controls

ControlRange or options
Duration0 to 20 seconds
ModeSimple, Sphere scan, Radial
CurveLinear or Smooth
Stop at current lookAborts a running fade and captures the current output as the new base

Spatial modes

  1. Set Mode to Sphere scan for a rotating plane that sweeps the new look across the rig, or Radial for an expanding shell.
  2. Tick Full editor to show the sphere on stage.
  3. Drag the sphere on stage to place it, or type X, Y, Z.
  4. Shift-drag the sphere to spin the Scan angle in Sphere scan mode.
  5. Set Blend width from 0.02 to 0.60 for a hard edge or a soft wipe.
  6. In Radial mode, tick Blast mode for a harder outward hit.

The M, C, and dash button

Palettes and Phasers each carry a small fade-binding button. M means the card follows this window's master Duration, C means it uses its own custom seconds, and a dash means no fade at all. That way one busking card can snap while the rest of the show breathes.

Effects & Motion · Phasers

Phasers

The biggest window in the app, and the heart of live effects. A phaser is built from channel components, each of which can sit still, animate, or move to a static value and then animate.

Building a phaser

  1. Select fixtures. The Common channels row shows the channels they actually have.
  2. Click a channel button to add it as a component, for example PAN and TILT.
  3. Use Add special for rarer channels like gobo, prism, fine, or macro.
  4. In each component card set the mode: Oscillation, Static plus oscillation, or Static position.
  5. Dial Amount, pick a Rate, choose a Waveform, then shape it with Shape, Phase, and Invert.
  6. Press Apply, or tick Live to hear every edit as you make it.

Spreading it across the rig

ControlWhat it does
Spread0.0 to 2.0. How far the phase fans out across the selection. Zero means everything moves together.
Wings1 to 8. Mirrors the spread into symmetric groups for fans and butterflies.
Master beatLocks the rate to the tempo from the Beat window.
Clear FXRemoves all oscillators and reverts to base values.

The four store buttons

ButtonWhat it saves
StoreThe live effect, plus the fixtures it was stored with.
Store poseEach selected light's current pan and tilt as a static position tile.
Store holdThe selection's non-zero channel values as an always-on tile that overrides presets, blackouts, and the grand master.
Lock fixturesFreezes the selection exactly as it looks, forcing every channel including zeros.

The tile pool

  • Tiles are sorted into Intensity and color and Movement columns.
  • Click a tile to start it, click again to stop. A white outline means running.
  • Turn on Edit mode to click tiles into the editor and tweak them in place without applying or stopping anything. A yellow outline marks the tile being edited, and changes save instantly.
  • Right-click a tile for Edit, Apply, Stop, Follow master beat, Bind to selection, Unbind, Overwrite with editor, and Delete.
  • Give each phaser a card color so your busking pool is readable at a glance.

Gobos and effects

The collapsing Gobos and effects section lists every effect channel on the selection with a fine value control and one chip per named band, so you can jump straight to a gobo instead of hunting for its DMX value. Press Store FX tile to keep the result.

Effects & Motion · Oscillator

Oscillator

Hand-built, per-channel motion. Where a phaser drives a whole effect across a selection, the Oscillator animates exactly the channels you armed in Channel control.

How to animate a channel

  1. Click one or more row labels in Channel control to arm them.
  2. Open Oscillator and tick Enabled.
  3. Set Amount as a percentage of the channel's range.
  4. Pick a Speed: Free, 4 bars, 2 bars, 1 bar, 1/2, 1/4, or 1/8.
  5. Shape the wave with Shape, and flip it with Invert.
  6. Raise Offset to fan the phase between armed channels — 0.25 gives 0, 0.25, 0.5, 0.75, which makes a chase.

Global engine controls

While anything is animating you get Master speed (0.1 to 4.0), Tempo in BPM, a Free speed slider for oscillators set to Free, and Stop all, which renders the current animated frame and freezes it as a static look — a neat way to capture a moment mid-effect.

Custom waveforms

  1. Open the Custom waveforms section and press New.
  2. Drag points in the editor canvas to shape the curve. End points stay locked horizontally.
  3. Double-click to add a break point.
  4. Right-click a section for Point to point, Curved, or Square / hold.
  5. Set Travel to Forward or Boomerang, and Stripes to repeat the drawn wave up to 16 times per cycle.
  6. Name it, press Save waveform, then select it in any Waveform dropdown — including inside Phasers.

Effects & Motion · Chases

Chases

Non-destructive moving overlays. A chase takes a preset and injects it across the rig in a moving shape, on top of whatever else is running.

The six kinds

KindBehaviour
SphereA rotating band that sweeps the preset around the rig.
LinearA band that travels in one direction and repeats.
BoomerangThe same band, bouncing back and forth.
StripesMultiple bands at once, from 2 to 32.
GlitterRandom sparkles across the rig, with a density control.
PulseA single one-shot sweep you fire by hand.

How to run a chase

  1. Store a look as a preset first — the transport buttons stay disabled until a source preset is picked.
  2. Choose it in the Inject preset dropdown.
  3. Click a kind chip.
  4. Set Band width, Speed, Direction, and Tilt. Stripes adds a Stripe count.
  5. Choose an Edge: Soft pulse for a gentle wash or Hard band for a crisp cut.
  6. Press Start chase, or Send pulse for the one-shot kind. Press Stop chase to end it.

Positioning and busking

Tick Full editor to show the chase sphere on stage, then drag it into place or set X, Y, Z and Start angle numerically. Shift-drag the sphere to spin the start angle.

Throb dimmers surges every dimmer to full and decays back over half a second. Mash it with the kick drum.

Effects & Motion · Palette sequences

Palette cycles and sequences

Inside the Palettes window is a small engine that rolls through a list of palettes. It is the fastest way to get moving color across a rig without building a phaser.

How to build a cycle

  1. Shift-click two or more palette tiles. They appear in the Cycle row; click one there to remove it.
  2. Pick a rate: 4 bars, 2 bars, 1 bar, 1/2, 1/4, or 1/8.
  3. Pick a pattern: Wave rolls across the rig, Wings mirrors it, Random scatters it.
  4. Press Cycle to start and Stop cycle to end it.

Shaping it

ControlEffect
Spacing0 means every light changes together; 1 spreads the whole cycle across the rig.
Snap0 is a smooth crossfade; 1 is a hard snap on the step.
Follow master beatLocks the cycle to the tempo from the Beat window.
Advanced segmentsShows a weighted color bar. Shift-click can add the same palette more than once, and you drag a band's right edge to change how long it holds.

Saving a sequence

  1. Open Saved sequences.
  2. Name it and press Save. You need at least two palettes in the cycle.
  3. Press Folder and turn on Drag mode to file sequences into folders.
  4. Click a tile to load and start it. Right-click for Load without starting, Overwrite with current cycle, Follow master beat, Move to, and Delete.

Effects & Motion · Beat

Beat

The master clock. Turn it on, tap along with the band, and every card that opts in — phasers, palette sequences, oscillators on musical rates — locks to the song.

How to sync to a band

  1. Open Beat and tick Master BPM.
  2. Tap the big TAP button, or press the space bar, on the beat.
  3. Watch the four-circle bar indicator. The orange circle is beat one.
  4. Use x2 or ÷2 if the detected tempo lands on the wrong subdivision.
  5. Pause for more than two and a half seconds, then tap again to reset the downbeat.

How tapping is interpreted

  • Taps more than 2.5 seconds apart start a fresh run.
  • Up to nine taps shape the tempo, which is clamped between 30 and 300 BPM.
  • The first tap of a run marks the bar downbeat; later taps nudge to the nearest beat.
  • Drift is applied to the live look, any running transition, the chase, and the palette cycle when it is following the master beat.

The time machine

Below the tap controls is a set of transport tools that bend the flow of animation time itself. Everything on a clock — phasers, oscillators, chases, palette cycles — follows, and status pills across the top always say what is currently in force.

ControlWhat it does
Reverse / ForwardRuns every effect backwards or forwards. Sweeps retrace their path, chases travel the other way down the rig.
RateScales the speed of time. Presets for 1/4, 1/2, 1x, 2x and 4x, plus a free slider.
Hold / ResumeFreezes the transport without losing phase. Resuming picks up exactly where it stopped.
NudgeShifts every clock by a quarter beat either way — the fix when an effect is sitting just off the groove.
Rewind 4 / DownbeatJumps the clocks back four beats, or snaps them onto the bar.
PendulumSwings time forward and back over a set number of beats, so effects breathe in and out instead of looping.
StutterRepeatedly re-triggers a short slice of time — a sixteenth, eighth, quarter or half beat — for a hard rhythmic chop.
Reset timePuts everything back to forward at 1x with no pendulum or stutter.

Space bar works anywhere

As long as the Beat window is open, free-fly mode is off, and no text field has focus, the space bar taps. You never have to aim at the button mid-song.

Playback · Stacks

Stacks

A stack is a cue list: an ordered set of looks you step through with Go. This is theatre-style playback, and it is where tracking lives.

How to build a stack

  1. Press New and rename the stack in the text field.
  2. Build a look in the Programmer: a group, some palettes, a dimmer, maybe a phaser.
  3. Set Fade in seconds.
  4. Press Store cue. The button is disabled while the Programmer is empty.
  5. Change the look and press Store cue again for cue 2, and so on.

Tracking

A cue records only the channels you touched. Channels you did not touch track through from earlier cues, exactly like a real console. That keeps cues small and makes edits painless: change a color in cue 2 and every later cue that never sets a color follows.

The record mask

The Record row has one toggle per feature: Dimmer, Position, Color, Beam, Focus, and Control. Turn off Position to store a color-only cue. All toggles on records everything.

Playing a stack

ControlWhat it does
GoFades to the next cue, wrapping at the end of the list.
Row play buttonJumps straight to that cue.
Cue gridNumber, editable name, per-cue fade time, jump, and delete. The current cue's number is bold green.
Clear progEmpties the Programmer so the stack's output actually shows through.
Delete listRemoves the whole stack.

Palette references survive

Channels linked to a palette are stored as references rather than raw numbers, and resolve when the cue fires. Edit the palette, re-fire the cue, and the cue updates.

Playback · Decks

Decks

The executor bar across the bottom of the screen. This is your hands-on surface for running the show live.

Grand Master

One vertical fader on the left, labelled GM, scaling every dimmer in the rig with a percentage readout underneath. Pull it down for a quick fade to black.

Stack strips

  1. Each strip shows the stack name, turning green while it plays.
  2. Below it, the current cue name, or a dash when the stack is off.
  3. Ride the vertical Master level fader to fade that whole cue list in and out.
  4. Press Go to fire or advance cues.
  5. Press Off to release the stack so it stops outputting. It is disabled unless the stack is playing.

Grand Master only scales dimmers

Fixtures with no dimmer channel — raw RGB pars, for instance — will not dim from GM. Use a dimmer palette or the channel sliders for those.

Playback · Command line

Command line

A single text box at the very bottom. Type a verb, press Enter. Much faster than the mouse once the vocabulary is in your fingers. Numbers are 1-based and in pool order.

CommandAliasesWhat it does
clearcl, cRelease the Programmer
blackblackout, boRelease every stack and clear the Programmer
fullGrand Master to 100 percent
gm 80Grand Master to a percentage from 0 to 100
goGo on the currently selected stack
go 2Go on stack number 2
offRelease every stack
off 2Release stack number 2
storeStore a cue into the current stack
cue 3Jump the current stack to cue position 3
group 1grp, gRecall group number 1

Anything unrecognised is reported in the Log, as are usage errors such as Usage: gm 0-100. There is no command history or autocomplete.

A busking sequence

g 3 to grab a group, build a look, store, go, then c to hand control back to playback.

Playback · Views

Views

Named snapshots of your workspace. A view captures both the open windows and the stage camera position, so you can flip between a programming desk and a playback desk instantly.

How to save a view

  1. Arrange the windows you want open and park the stage camera where you like it.
  2. Type a name next to Name.
  3. Press Save.
  4. Click the view's button later to restore both the layout and the camera.
  5. Press the trash button to delete a view.

What a view captures

The camera snapshot and fly-mode state, plus the visibility of Art-Net, Transition, Chases, Groups, Palettes, Phasers, Stacks, Decks, Command, Log, and Oscillator. Beat, Patch, Configs, DMX monitor, Settings, and the Views window itself are not part of a view, so utility windows stay where you left them.

Two views to start with

A Program view with Palettes, Phasers, and Stacks open, and a Playback view with Decks, Stacks, and the command line.

Output & Fixes · Art-Net

Art-Net output

DMXexpress streams two contiguous DMX universes over Art-Net at roughly 40 frames per second. The Art-Net panel docks to the top of the window and is where you choose the destination.

How to get output running

  1. Set Universe in the top toolbar. Slots 1–512 go there, 513–1024 to the next universe.
  2. Press ArtPoll to broadcast a discovery packet.
  3. Click a discovered node row to unicast to it. Each row shows the IP address, the short name, and the long name underneath.
  4. Click Broadcast 255.255.255.255 to go back to broadcasting to everything.
  5. For a node that does not answer ArtPoll, type its address into Manual target IP and press Use.

A valid manual address is confirmed in the Log; an invalid one reports Invalid IP address. While no nodes have answered, the panel simply reads Searching.

Before you connect to a real rig

Confirm the interface, the universe, the patch, and the Grand Master position. Do not rely on DMXexpress as the sole safety mechanism for a live production.

Output & Fixes · DMX monitor

DMX monitor

A live view of all 1024 output channels, plus a per-channel override so you can test wiring end to end without touching your show.

Reading the list

  • Each row is one DMX slot: address, a level bar, the numeric value, an override checkbox, and the owning fixture's name.
  • The level bar is green normally and orange while that channel is overridden.
  • The header reports either No overrides active or a warning with the override count.

How to test a fixture

  1. Open DMX from the toolbar.
  2. Scroll to the address you want. The fixture name on the right helps you orient.
  3. Tick its checkbox. The channel is forced to 255 on the wire, on top of everything else.
  4. Drag the override value to test a specific level.
  5. Press Clear all to drop every override when you are done.

Overrides outrank everything

An override sits above cues, phasers, holds, and the Grand Master. Always clear them before you run a show.

Output & Fixes · Freeze & blackout

Freeze and blackout

Three different ways to stop, each with a different scope. Knowing which one to reach for is the difference between a clean save and a dead stage.

Freeze

The FREEZE button in the top toolbar holds the exact current output and pauses every oscillator, transition, chase, palette cycle, cue fade, and timed ramp. UNFREEZE resumes every one of them at the same phase, because the paused duration is added to each clock rather than reset. Use it to hold a look while you go fix something.

Blackout all

The Blackout all button in the Inspector writes a black frame and releases the active preset, all running phasers, holds, the transition, and the chase. This is the full stop.

Command line blackout

Typing black or bo releases every stack and clears the Programmer. Playback stops, but stage effects owned by the Inspector are untouched.

Grand Master

Pulling GM to zero scales every dimmer to nothing but leaves everything running underneath, so pushing it back up restores the show exactly. Note that fixtures with no dimmer channel, and phaser hold or lock tiles, ignore it.

ActionStops effectsStops playbackReversible
FreezePausesPausesYes, in phase
Grand Master to 0NoNoYes
black commandNoYesRe-fire cues
Blackout allYesPartlyRebuild the look

Output & Fixes · Log

Log

A small floating window that narrates everything the app does. It is display-only by design: no filters, no severity levels, no clear button.

What lands in it

  • How many fixtures loaded from the patch, and any patch warnings.
  • Store and recall confirmations for groups, palettes, presets, and cues.
  • Command line feedback, including usage errors and unknown commands.
  • Art-Net target changes and invalid IP addresses.
  • View changes.

How to use it

  1. Click Log in the top toolbar.
  2. Scroll back through the history; the view auto-follows new entries.
  3. Use A- / A+ to change its text size.

Keep it open while learning

Every action you take is described in one line. It is the fastest way to understand what a button actually did.

Output & Fixes · Files

Files on disk

Every part of your show is plain, readable JSON in the working directory. Nothing is locked in a binary format, so you can read it, diff it, and put it in version control.

FileContents
groups.jsonYour groups
palettes.jsonYour palettes
phasers.jsonYour phasers
sequences.jsonSaved palette sequences
presets.jsonYour stored looks and preset folders
stacks.jsonYour stacks and cues
views.jsonYour saved views
patch_user.jsonFixtures patched inside DMXexpress
stage_layout.jsonLight placement, duplicates, and towers
settings.jsonStage dimensions and visualizer settings
configs/Whole-show configurations
setups/Saved stage arrangements

Easy to extend

Because it is all readable JSON, it is straightforward to generate a new stage layout or a batch of fixture profiles with a script or an AI assistant, drop the file in, and rehearse on it tonight.

Output & Fixes · Troubleshooting

Troubleshooting

The problems people actually hit, and the one-line fix for each.

My playback does nothing

The Programmer is still holding those channels. Press Clear prog or type clear. Check the active-channel count reads zero.

My palette edit did not change the cue

Palette references resolve when a cue fires. Re-fire the cue with Go or its row play button.

A cue is missing something I set

Store only records channels you actually touched, filtered by the Record mask. Confirm you moved that channel and that its feature toggle was on.

Some fixtures will not dim from the Grand Master

GM scales dimmer channels only. Raw RGB fixtures have no dimmer, so use a dimmer palette or drive the color channels down instead.

A fixture is stuck on and ignores everything

Check for a phaser hold or lock tile still running, and check the DMX monitor for a leftover channel override. Both outrank normal output.

Nothing reaches my node

Confirm the universe in the toolbar, press ArtPoll and select the node, or set a manual target IP. Verify the fixture's address falls inside slots 1–1024, and read the Log for the last target change.

Everything is moving but nothing responds to edits

Check whether FREEZE is engaged in the toolbar. The button reads UNFREEZE and turns blue while output is held.

A fixture I patched vanished

Open Patch. It may be in the Removed list, or Include ShowBuddy patch may be unticked. Press Restore all to bring excluded fixtures back.