Blog Lightjams 12 min read

Lightjams + Gamepad: Art-Net Lighting From a Thumbstick

Lightjams turns MIDI into DMX across 128 universes. How a DualSense becomes a live lighting surface: MIDI mapping, Art-Net output and the universe maths.

By Aidxn Design

Most lighting software is built around cues. You programme looks in advance, you fire them in order, and the operator's job is timing. Lightjams is built around the opposite premise: that lighting can be played rather than recalled, with parameters driven live from whatever input you point at them. That premise makes it the most obviously gamepad-shaped lighting tool in existence, because a gamepad is an instrument for playing continuous values, and Lightjams is a tool for turning continuous values into DMX. This guide is about wiring those two together properly — the per-slider mapping model, the universe maths, the clock functions, and where the approach stops being appropriate.

TL;DR
  • MIDI config lives under View → Configuration. Lightjams auto-detects controllers at startup, so start the bridge first.
  • Mapping is per-slider: select a slider, click its MIDI icon, pick notes or CC and a channel — see Lightjams' MIDI-to-DMX page.
  • Output is big: 128 universes each for Art-Net, sACN and KiNET; 16 input universes for Art-Net and sACN.
  • MIDI clock is a first-class input via midi.clock.beat, midi.clock.bpm, midi.clock.sawtooth and midi.clock.speed.
  • Setup time: about 20 minutes to a stick driving a moving head.

Why is Lightjams a better fit for a gamepad than a cue-based console?

Because its whole architecture is continuous-value-driven, and a gamepad's best inputs are continuous.

A traditional console's primary verb is GO. You press it and a pre-programmed state crossfades in over a pre-programmed time. The operator's inputs are overwhelmingly discrete — a button, a fader hitting a known position, a playback select. A gamepad can do that work, but it is not where a gamepad shines; a lit button is better at being a button than an unlit face button is.

Lightjams' primary verb is closer to set. Values flow from inputs through effects into universes, continuously. The interesting controls are the ones that shape a flow — intensity, speed, spread, hue, position — and those are exactly the controls that want an analog stick or a spring-loaded trigger rather than a 100mm fader you have to look at. Two triggers and four stick axes is six simultaneous continuous lighting parameters under one hand, which is more than most operators ride at once even on a full console.

The second structural fit is the LED/pixel work. Lightjams' networked control model and large universe count mean it is frequently used for pixel-mapped installations where the interesting parameter is not "which look" but "how the wave moves". Driving a travelling wave's speed and direction from a thumbstick is a genuinely better interface than typing numbers, and it is the kind of control you want to adjust continuously while watching the room.

How does Lightjams' MIDI mapping model differ from other software?

It is per-slider rather than global — you select the destination first, then tell it which MIDI message drives it.

Lightjams documents the flow as: select any slider you want to control, click the MIDI icon to enter configuration, then set the MIDI options. Inside that per-slider panel you choose between notes and control changes, pick from all 16 MIDI channels, and watch a real-time value viewer that lets you click a value directly. There is also a "last received message" feature that acts as a MIDI learn, detecting incoming messages from any channel.

Two practical consequences for a gamepad mapping.

First, use the last-received-message learn rather than typing numbers. With 24-ish controls on a pad, entering channel and CC numbers by hand is both slow and error-prone, and the bridge's CC assignments are something you should be free to change without having to re-type them in Lightjams. Wiggle, capture, move on.

Second, plan the slider list before you map. Because mapping is attached to sliders rather than kept in one table, there is no single screen showing your whole controller map. That is fine if you designed the slider set deliberately and awful if you accumulated it. Decide the six to eight parameters you intend to perform, create those sliders, map them, and resist adding more. The same discipline applies as in building Wire patches — a small, intentional performance surface beats a large accidental one.

What should each gamepad input drive in a lighting rig?

Intensity and strobe on the triggers, position on the sticks, colour on the touchpad, and structural changes on the buttons.

ControlMIDILightjams parameterWhy this pairing
R2 analog triggerCC, channel 1Master intensitySpring return to zero means the rig goes dark when you let go, which is the safest possible default for an intensity control.
L2 analog triggerCC, channel 1Strobe rate / shutterThe classic momentary gesture. Squeeze and release, never latched — a latched strobe is how you clear a room.
Left stick XCC, channel 1Moving head panA stick controlling a physical pan axis needs no explanation to any operator alive.
Left stick YCC, channel 1Moving head tiltPairs with pan on the same thumb, which is how a remote-head operator already thinks.
Right stick XCC, channel 1Effect speedContinuous, bidirectional from centre, so pushing left can mean reverse rather than slow.
Right stick YCC, channel 1Effect spread / wave widthPairs with speed so one thumb shapes the whole movement effect.
Touchpad XCC, channel 1HueColour is a 2D problem and the touchpad is the only 2D absolute surface on the pad.
Touchpad YCC, channel 1SaturationHue across, saturation up — a colour picker you can operate without looking at a screen.
Cross / Circle / Square / TriangleNotesPalette or scene recallFour known states you can reach by shape. Keep this small; four is plenty.
D-pad left / rightNotesPrevious / next fixture groupChanges what the sticks are addressing. Navigation belongs on the directional control.
D-pad up / downNotesPrevious / next effectSecond navigation axis, orthogonal to the group selection.
L1NoteShift (held)Doubles the face buttons so four palettes become eight without adding hardware.
R1NoteBlackoutThe one control every lighting operator must be able to hit blind, instantly, every time.
R3 (stick click)NoteHome the moving headsClick the stick you are already holding to reset the axis you are already driving.

Note that this is a busking layout, not a cue-stack layout. It assumes you are playing the rig live rather than firing a programmed show, which is the use case Lightjams is designed for and the use case where a gamepad is genuinely the better tool.

How do the MIDI clock functions change the mapping?

They let your effects run in time with the music without anybody riding a speed control, which frees a whole stick axis for something else.

Lightjams extracts BPM from incoming MIDI clock and exposes it through named functions — the documented set includes midi.clock.beat, midi.clock.bpm, midi.clock.sawtooth and midi.clock.speed, with clock IDs assigned automatically. That is a meaningfully different architecture from "map a fader to speed and keep adjusting it".

If a DAW or DJ software is already producing clock, point Lightjams at it and drive your effect timing from midi.clock.sawtooth rather than from a stick. Your chases now stay locked through tempo changes and you have an entire stick axis back for something expressive.

If there is no clock source, a gamepad can be one. A tap-tempo binding on a face button is a legitimate master clock for a busked set — not sample-accurate, but neither is a human. The mechanics of driving clock from controller buttons are covered in MIDI clock sync from a gamepad, and the wireless-tempo alternative in the Ableton Link guide.

How does the universe maths actually work out?

Lightjams sends up to 128 universes per network protocol and receives 16, so the gamepad is never the bottleneck — the network and the fixtures are.

Worth being precise here because universe counts get repeated wrongly. Lightjams documents sending 128 DMX universes for each of Art-Net, sACN and KiNET, and receiving 16 universes for Art-Net and sACN, with Art-Net input shown live in an input panel where you can map any DMX value onto a Lightjams parameter in a few clicks.

Two things follow for a gamepad rig.

The input side is a genuine feature, not a footnote. Sixteen receivable universes means another console can drive Lightjams while your gamepad drives something else — a house desk owning the front wash while you busk the effects. That is a very usable division of labour in a venue where you do not own the whole rig, and it is architecturally much safer than trying to take over a desk you did not programme.

The output side means the controller count is irrelevant to scale. Six analog axes driving a pixel-mapped effect that resolves to twelve universes of LED tape is completely normal — you are controlling parameters of a generator, not individual channels. That is the conceptual leap that makes gamepad lighting work at all, and it is the same leap that makes it work in the Resolume-to-DMX chain, which approaches the same problem from the visuals side.

Where should you not use this?

Anything with a written cue sheet, anything where a second operator must take over, and anything requiring plot documentation for a touring rider.

Be clear-eyed about the limits, because lighting has consequences that visuals do not.

  • Scripted shows. If the lighting follows a script with called cues, use a cue-based console. A busking surface in a scripted show is a liability, because the next operator cannot read your hands. For that world see grandMA3 MIDI remotes, where the gamepad is a secondary trigger rather than the primary surface.
  • Handover. A lit console tells the next person what state the rig is in. A gamepad does not. On a show with rotating operators, document the map and accept that the console is the source of truth.
  • Safety-relevant intensity. Anything where a stuck value could blind a performer or overheat a fixture should have a hardware path to zero that does not depend on software. Your blackout binding is a convenience, not a safety system.
  • Wireless in a crowded venue. Run USB-C. A lighting rig is not the place to find out how busy the 2.4 GHz band is tonight — the wired versus Bluetooth comparison covers when wireless is genuinely safe and when it is not.

What breaks, and how do you fix it?

Startup order, missing ports and drifting sticks — the same three faults as every other host, in the same order.

Lightjams does not list the bridge port. It detects controllers at startup, so a port created after launch will not appear. Bring the bridge up first, confirm the port exists at OS level, then start Lightjams. If the port is missing at OS level too, work through the missing-port triage.

A slider moves on its own. That is stick drift, not a Lightjams bug, and the fix belongs at the bridge as a deadzone rather than as a filter downstream. The drift compensation guide explains why a slightly wider deadzone on an older controller is the correct answer, and why filtering in the host just adds lag to a problem it does not solve.

A moving head judders through a slow move. That is 7-bit MIDI resolution meeting a 16-bit pan channel, and it is the one place where the protocol genuinely limits you. Options in order: use 14-bit CC pairs if your bridge supports them, slow the move so the steps blur, or move to OSC if your chain supports it. The trade-offs are in OSC versus MIDI from a gamepad; OSC output is a Pro-tier bridge feature, while the free tier covers one controller, one port and three saved presets over MIDI.

How do you build a set you can actually repeat?

By freezing the slider list and the mapping before the first show, then changing only the effects behind them.

Busking software has a specific failure mode: because it is so easy to add another slider, the surface grows every session until no two nights are the same and nothing is reproducible. That is fine for a bedroom and fatal for a residency, where the whole value proposition is that week twenty-six goes better than week one because your hands have learnt the rig.

The discipline that fixes it is borrowed straight from live performance generally: separate the surface from the content. The surface — which slider is on which control, what the triggers do, where blackout lives — is frozen. It does not change between shows, ever, unless you deliberately rebuild it in a work session with no gig attached. The content behind the sliders — which effects, which fixtures, which palettes — changes freely, because your hands do not need to know about it.

Practically that means three things. Save the bridge-side mapping as a named preset and reload it rather than rebuilding; the free tier's three slots are enough for a live map, a programming map and a spare. Keep a written record of the slider-to-control assignments somewhere outside the software, because a corrupted project file should cost you content, not muscle memory. And when you genuinely do want to change the surface, change one thing and live with it for a few shows before changing another — the whole point of a frozen surface is that it stops being something you think about.

The same architecture is what makes a club residency work on a single controller, and the longer-form version of that argument is in designing a repeatable residency set, with the redundancy side in the festival main-stage rig.

FAQ

Can Lightjams be controlled with a MIDI controller?

Yes. Lightjams automatically detects connected MIDI controllers at startup, and you link MIDI to any slider by selecting the slider and clicking the MIDI icon to open its MIDI settings.

Where is the MIDI configuration in Lightjams?

Go to View then Configuration to see detected MIDI controllers. The per-slider MIDI settings are reached by selecting the slider and clicking the MIDI icon on it.

Does Lightjams have a MIDI learn function?

Effectively, yes. The last received message feature detects incoming messages from any channel so you can map by moving a control rather than entering channel and CC numbers manually.

Can a gamepad drive DMX lighting through Lightjams?

Yes. A bridge converts the gamepad to MIDI, Lightjams maps that MIDI onto sliders, and those sliders drive Art-Net, sACN or KiNET output to your fixtures. Lightjams sends 128 universes per network protocol.

How many DMX universes does Lightjams handle?

Lightjams can send 128 DMX universes for each of Art-Net, sACN and KiNET, and can receive 16 input universes for Art-Net and sACN.

Can Lightjams sync to MIDI clock from a gamepad?

Lightjams extracts BPM from incoming MIDI clock and exposes it through functions including midi.clock.beat, midi.clock.bpm, midi.clock.sawtooth and midi.clock.speed. If your bridge can send clock from a tap-tempo button, those functions become available to your effects.

Can Lightjams light up the LEDs on my controller?

For controllers with addressable LEDs, yes — Lightjams patches MIDI controller LEDs like normal fixtures across 32 dedicated universes, 16 mapped to notes and 16 to CC. A standard gamepad has no LED grid, so feedback there has to come from the bridge instead.

Put a lighting rig under one thumb

Lightjams is the rare lighting tool where playing beats programming, and a gamepad is the rare controller built for playing. Download Universal Controller MIDI, bring it up before Lightjams, and map your first stick to a pan axis — you will know within a minute whether this workflow is for you.

Keep reading

More setup walkthroughs