Most Resolume MIDI tutorials stop at the same place: open the Shortcuts menu, click the thing, wiggle the control, done. That gets you a working map and leaves you with no idea why half of it feels wrong. The reason is that Resolume's shortcut system is not a flat "control X moves parameter Y" assignment — it is a small set of behaviour modes layered on top of the assignment, and choosing the wrong one is what makes a map feel steppy, latched, backwards, or stuck. This guide is about those modes: what Absolute, Button, Relative and Fake Relative actually do, when a note should be Toggle rather than Piano, what Range and Invert are for, and which mode to pick for every input on a game controller.
- Four CC modes exist: Absolute, Button, Relative, Fake Relative — documented in Resolume's own MIDI shortcuts page.
- Gamepad rule of thumb: sticks, triggers and touchpad → Absolute. Face buttons → note assignments, not CC.
- Note modes include Toggle, Piano, Range, Value and Velocity. Picking Toggle when you wanted momentary is the single most common mapping mistake.
- Application vs Composition map is a scoping decision, not a cosmetic one. Decide before you start.
- Setup time: about 20 minutes for a complete gamepad map once you know which mode goes where.
Why does Resolume have four different CC modes at all?
Because MIDI control change messages are used by at least three physically different kinds of hardware, and a single interpretation would break two of them.
A CC message is seven bits of payload with no description of what produced it. A 100mm fader, a bank of eight rotary pots, an endless encoder on a Native Instruments controller, and a plastic button on a nanoKONTROL all send CCs, and all of them mean something different by the same number. A fader at value 64 means "I am physically halfway". An endless encoder at value 64 might mean "I just turned one click clockwise", depending on the encoder's convention. A button sending CC means "I am down" or "I am up" with no middle. Resolume cannot tell these apart from the message, so it asks you.
That is the whole explanation for the mode list, and once you see it the choice becomes obvious rather than arbitrary. You are not choosing a feature, you are telling Resolume what kind of physical object is on the other end of the cable.
- Absolute — direct value
- Relative — nudge from here
- Absolute — opacity ride
- Button / Toggle
- Button / Piano
What does Absolute mode actually do?
Absolute maps the full travel of your physical control onto the full range of the Resolume parameter, so position on the hardware equals position in the software.
Resolume's documentation describes Absolute as the mode that "lets you control the range of the parameter with the range of your fader or rotary knob", and that is exactly how it behaves — incoming value 0 sets the parameter to its minimum, 127 sets it to its maximum, and everything between interpolates. It also offers an invert option so that 0 becomes maximum and 127 becomes minimum.
This is the mode you want for nearly every analog input on a game controller. A thumbstick axis has a hard mechanical range. An analog trigger has a hard mechanical range. A touchpad coordinate has a hard bounded range. All three are absolute position sensors, so Absolute is the honest interpretation.
The one wrinkle worth knowing: Absolute mode has no value-takeover protection. If the parameter is at 90% and your stick is centred, the moment you touch the stick the parameter jumps to 50%. That jump is sometimes exactly what you want (a crossfade snap) and sometimes a disaster (a mid-set opacity cliff). Self-centring sticks make this worse than faders do, because a stick always returns to the middle. The fix is to put jumpy parameters on triggers instead — a trigger rests at zero, so its "jump" is a jump to the value you are already at.
When do you use Button mode instead?
Button mode is for hardware that sends CC messages from physical buttons rather than from a continuous control — the Korg nanoKONTROL being the canonical example in Resolume's docs.
Selecting Button mode gives you access to the button-specific behaviours — Toggle and Value — on an assignment that arrived as a CC rather than as a note. This matters because some controllers, including some gamepad bridges configured carelessly, send digital button states as CC 0/127 pairs. If you leave those on Absolute, the parameter will slam between its minimum and maximum with nothing in between, which looks like a bug and is actually a mode mismatch.
On a gamepad you should rarely need this, because a well-configured bridge sends digital buttons as MIDI notes, which is both more semantically correct and gives you access to the richer note modes below. If you are seeing Button-mode symptoms, check your bridge's output type before you change the Resolume mode — the fix usually belongs upstream. Our walkthrough of what each DualSense input is good for covers which inputs should be notes and which should be CC.
What are Relative and Fake Relative for?
Relative is for endless rotary encoders that report movement rather than position, and Fake Relative makes a normal limited-travel knob behave as if it were endless.
In Relative mode Resolume exposes Steps and Step Size, so you can tune how far a single encoder click moves the parameter, with an optional loop behaviour for parameters that should wrap around. The documented use cases are the ones you would expect: clip position scrubbing, BPM nudging, anything where you want fine incremental control without a physical end stop getting in the way.
Fake Relative is the clever one. It takes a standard rotary with a fixed travel and converts its output into relative increments, so you can keep nudging past where the physical knob runs out. The parameter does not jump when you pick the knob back up, because it never knew where the knob was in the first place.
Should a gamepad use these? Usually not, with one genuinely good exception. A thumbstick held off-centre is a natural velocity control — the further you push, the faster something should change — and that is conceptually a relative gesture, not an absolute one. Mapping a stick axis to Fake Relative on a parameter like playback position or BPM gives you a jog-wheel feel: push right to scrub forward at a rate proportional to deflection, release to stop where you are. That is a genuinely better behaviour than Absolute for scrubbing, and it is the one place where the exotic modes earn their keep on a controller. Experiment with Step Size, because the default will almost certainly be too coarse or too fine for a stick.
What modes do note assignments have?
Notes get Toggle, Piano, Range, Value and Velocity — and the difference between Toggle and Piano is the thing that bites almost every new Resolume user.
Resolume's documentation lists these as the note-specific behaviours, with Velocity singled out because "the harder you press, the higher the velocity will be", which lets a single note message drive a continuous parameter.
| Note mode | Behaviour | Good gamepad use | Bad gamepad use |
|---|---|---|---|
| Toggle | First press latches on, second press releases | Effect bypass, layer solo, blackout, anything that should stay where you put it | Strobe or freeze — you will walk away with it latched on |
| Piano | Active only while the note is held | Momentary effects, hold-to-preview, shift layers | Anything you need to stay on while your hand does something else |
| Range | Button jumps a continuous parameter to a defined value | Snap speed to 1.0×, snap opacity to 50%, recall a known state | Parameters with no meaningful snap points |
| Value | Sends one specific value on press | Preset recall, fixed-position jumps | Anything needing a return to a previous value |
| Velocity | Press force sets the parameter value | Trigger-derived velocity driving a one-shot effect depth | Plain digital face buttons, which have no real velocity to give |
The practical rule for a VJ map: anything that is a state goes on Toggle, anything that is a gesture goes on Piano. A layer solo is a state. A strobe is a gesture. If you are unsure, ask whether you would ever want it still active after you let go — if the answer is no, it is Piano.
What do Range and Invert do, and when do you need them?
Range constrains what a button-driven assignment does to a continuous parameter, and Invert flips the direction of the mapping.
These appear when you assign a button-type shortcut to a parameter that is a slider rather than a switch. Without Range, a button on a slider is a crude all-or-nothing: minimum on release, maximum on press. Range lets you say "this button means 0.35" rather than "this button means 1.0", which turns a face button into a snapshot recall for a single parameter.
Invert is more useful on a gamepad than it sounds, because of trigger semantics. Consider a transition where squeezing a trigger should make a layer disappear. The natural mapping is opacity, but the natural trigger direction is "more squeeze, more value". Invert reconciles the two without asking you to think backwards during a show. The same applies to stick Y axes, where "push forward" should sometimes increase and sometimes decrease depending on the parameter, and where getting it wrong is the kind of mistake you only discover live.
Application map or Composition map — which should you use?
Application shortcuts belong to the install and work in every composition; Composition shortcuts are saved inside the composition file and only exist there.
Resolume's shortcuts overview presents these as separate editing modes, each with their own menu entry, and the scoping difference drives a real workflow decision.
Put in the Application map: master dim, effect bypass, blackout, deck navigation, transport, anything you would be furious to lose when you open a different composition. These are the controls that should behave identically whether you are running a club set or a corporate gig, and they are the controls that most benefit from living on a gamepad you always have with you.
Put in the Composition map: clip triggers, layer-specific parameters, anything whose meaning depends on this particular composition's structure. The Resolume community's standing advice, repeated often enough that it is practically folklore, is that per-deck and per-clip assignments belong in the composition map precisely so that multiple instances of the same function across different decks do not collide.
A hybrid rig makes this even more useful — a grid controller in the Composition map handling clips, a gamepad in the Application map handling global expression. That division is covered in more depth in the gamepad versus grid comparison, and the multi-port side of it in routing one controller into two hosts.
What is the right mode for every gamepad input?
Analog inputs take Absolute, digital inputs take note assignments, and the only input that benefits from a relative mode is a stick used as a scrub wheel.
| Gamepad input | Message type | Resolume mode | Why |
|---|---|---|---|
| L2 / R2 analog triggers | CC | Absolute | Bounded travel, spring return to zero, so absolute position is meaningful and the "jump on touch" problem disappears. |
| Left / right stick X and Y | CC | Absolute (or Fake Relative for scrubbing) | Bounded and self-centring. Use Fake Relative only when you want push-to-scrub rather than push-to-set. |
| Touchpad X / Y | CC | Absolute | A true 2D position sensor — any relative mode throws away the thing that makes it useful. |
| Face buttons (Cross, Circle, Square, Triangle) | Note | Piano for gestures, Toggle for states | Ask whether you would want it still on after release. That answers the mode. |
| D-pad | Note | Piano | Navigation is always momentary. A latched "next column" is nonsense. |
| L1 / R1 shoulders | Note | Piano for shift, Toggle for bypass | Hold-to-shift is safer than latch-to-shift because you cannot forget it is engaged. |
| Stick clicks (L3 / R3) | Note | Value or Range | Perfect for "snap this parameter back to neutral" because your thumb is already there. |
| Options / Share | Note | Toggle | Awkward to reach, so reserve for states you set once — blackout, freeze, record arm. |
| Gyro / motion | CC | Absolute with heavy smoothing | Usable but noisy. Smooth at the bridge, not in Resolume, and give yourself a recentre button. |
Why does my mapping stop working after I reopen Resolume?
Almost always because the MIDI input device was not re-enabled, the virtual port name changed, or the assignments were saved into a composition you did not reopen.
Work through it in this order. First, check the Preferences MIDI tab — the device must show MIDI Input toggled on, and a virtual port that got renamed or recreated between sessions will appear as a new, disabled device rather than as the one you configured. Second, check which map you assigned into; Composition assignments live in the composition file and will genuinely not be there in a different one. Third, check that your bridge is actually running and that only one instance of it is, because two instances fighting over one port name is a classic cause of "it worked yesterday".
Stable port naming is the real fix and it is worth doing properly once. Our guide to creating a virtual MIDI port covers the naming discipline per OS, and the missing-port decision tree handles the case where Resolume cannot see the device at all. On macOS specifically, the IAC Driver guide explains why a bus that looks enabled sometimes is not.
Does any of this differ between Avenue and Arena?
The MIDI input layer is identical — the differences between the two are all downstream of the composition.
Arena adds the output-side features: DMX and Art-Net output, soft-edge blending, advanced projection mapping, and DMX shortcuts so a lighting desk can drive Resolume rather than the other way round. None of that changes how a CC in Absolute mode behaves. If you are mapping a gamepad, everything in this article applies to both, and the price difference between them should be decided on output features, not on input ones.
We cover the edition split specifically for controller workflows in Resolume Avenue vs Arena with a DualSense. If you are going further and want to build custom behaviour rather than map existing parameters, Resolume Wire with a gamepad picks up where the shortcut system runs out.
What is the fastest way to build a map that survives a gig?
Map fewer controls than you think you need, test every one twice, and write the map down somewhere that is not the software.
Three habits separate maps that survive from maps that collapse. One: never assign a control you have not immediately exercised — leave shortcut editing mode and actually use it, because an assignment made in edit mode and never tested is a coin toss. Two: keep a text file or a photo of the mapping table, because in eighteen months you will open the composition and have no memory of what Triangle does. Three: freeze the map before the show. Resolume will happily let you edit shortcuts mid-set, and a half-finished reassignment during a show is how you end up with a parameter that answers to nothing.
On the bridge side, save the finished mapping as a preset so the controller side is reproducible too. The free tier of Universal Controller MIDI stores three presets on one controller and one port, which covers a single-app Resolume rig comfortably; Pro is what you need for multi-controller rigs, extra ports and OSC output.
FAQ
Where is MIDI mapping in Resolume?
Open the Shortcuts menu and choose Edit MIDI Shortcuts, which recolours the interface to show every mappable element. The device itself must first be switched on under MIDI Input in the Preferences MIDI tab.
What is the difference between Absolute, Relative and Fake Relative in Resolume?
Absolute maps the full range of a physical fader or stick to the full range of a parameter, Relative is for endless rotary encoders that send increment and decrement steps, and Fake Relative makes a standard limited-travel rotary behave like an endless one.
Which Resolume CC mode should I use for a gamepad analog trigger?
Absolute, because an analog trigger has a fixed travel from fully released to fully pressed and should map directly onto the parameter range. Relative modes are designed for encoders that never hit an end stop, which a trigger always does.
Should I use the Application map or the Composition map?
Use the Application map for anything that must behave identically in every composition — master dim, effect bypass, deck navigation. Use the Composition map for clip and layer assignments that only make sense inside one specific composition.
Why does my gamepad button toggle a parameter instead of holding it?
The shortcut is in Toggle mode rather than a momentary mode. Select the assignment in the shortcut editor and change the mode, then re-test — Toggle latches on the first press and only releases on the second.
Can Resolume use MIDI velocity from a gamepad?
Yes. Resolume exposes a Velocity mode for note assignments where a harder press produces a higher value, so if your bridge sends analog-derived velocity from a trigger you can drive a continuous parameter from a single note message.
Do I need Arena, or does Avenue do MIDI mapping too?
Both Avenue and Arena support MIDI shortcuts with the same modes. Arena adds the output-side features — DMX, Art-Net, soft-edge blending and advanced mapping — but the MIDI input layer is the same.
Build the map on a controller you already own
Every mode in this article works the same whether the messages came from a thousand-dollar grid or the pad on your coffee table. Download Universal Controller MIDI, create one named virtual port, and spend twenty minutes picking the right mode for each input — it is the difference between a map that fights you and one you forget you are using.