Novation
Novation Launch Control XL 3
Novation Launch Control XL 3 is a MIDI hardware controller by Novation: 24 encoders, 8 faders and 16 buttons.
It sends CC on channel 16. The profile cites 7 sources. No control is flagged unverified.
- Manufacturer docs
- Community notes
- Kind
- hardware device
- Maker
- Novation
- Controls
- 48 controls
- Messages
- CC
- MIDI channels
- 16
- LED feedback
- none sent
- Signals
midi/lcxl3/…- Port name matches
/lcxl\s*3/i
Drag knobs and faders · tap pads and keys · or plug the real one in and press Connect. Nothing is sent anywhere unless you add a MIDI out.
MIDI implementation
Every control of Novation Launch Control XL 3 and the message it sends
Generated from the profile file, so it is the same table the on-screen controller plays. Channels are 1–16; numbers are real MIDI numbers.
| Control | Type | Message | Ch | Number | Signal | LED feedback | Verified |
|---|---|---|---|---|---|---|---|
1 e1 |
encoder | CC · absolute | 16 | 13 | midi/lcxl3/e1 |
— | yes |
2 e2 |
encoder | CC · absolute | 16 | 14 | midi/lcxl3/e2 |
— | yes |
3 e3 |
encoder | CC · absolute | 16 | 15 | midi/lcxl3/e3 |
— | yes |
4 e4 |
encoder | CC · absolute | 16 | 16 | midi/lcxl3/e4 |
— | yes |
5 e5 |
encoder | CC · absolute | 16 | 17 | midi/lcxl3/e5 |
— | yes |
6 e6 |
encoder | CC · absolute | 16 | 18 | midi/lcxl3/e6 |
— | yes |
7 e7 |
encoder | CC · absolute | 16 | 19 | midi/lcxl3/e7 |
— | yes |
8 e8 |
encoder | CC · absolute | 16 | 20 | midi/lcxl3/e8 |
— | yes |
9 e9 |
encoder | CC · absolute | 16 | 21 | midi/lcxl3/e9 |
— | yes |
10 e10 |
encoder | CC · absolute | 16 | 22 | midi/lcxl3/e10 |
— | yes |
11 e11 |
encoder | CC · absolute | 16 | 23 | midi/lcxl3/e11 |
— | yes |
12 e12 |
encoder | CC · absolute | 16 | 24 | midi/lcxl3/e12 |
— | yes |
13 e13 |
encoder | CC · absolute | 16 | 25 | midi/lcxl3/e13 |
— | yes |
14 e14 |
encoder | CC · absolute | 16 | 26 | midi/lcxl3/e14 |
— | yes |
15 e15 |
encoder | CC · absolute | 16 | 27 | midi/lcxl3/e15 |
— | yes |
16 e16 |
encoder | CC · absolute | 16 | 28 | midi/lcxl3/e16 |
— | yes |
17 e17 |
encoder | CC · absolute | 16 | 29 | midi/lcxl3/e17 |
— | yes |
18 e18 |
encoder | CC · absolute | 16 | 30 | midi/lcxl3/e18 |
— | yes |
19 e19 |
encoder | CC · absolute | 16 | 31 | midi/lcxl3/e19 |
— | yes |
20 e20 |
encoder | CC · absolute | 16 | 32 | midi/lcxl3/e20 |
— | yes |
21 e21 |
encoder | CC · absolute | 16 | 33 | midi/lcxl3/e21 |
— | yes |
22 e22 |
encoder | CC · absolute | 16 | 34 | midi/lcxl3/e22 |
— | yes |
23 e23 |
encoder | CC · absolute | 16 | 35 | midi/lcxl3/e23 |
— | yes |
24 e24 |
encoder | CC · absolute | 16 | 36 | midi/lcxl3/e24 |
— | yes |
1 f1 |
fader | CC | 16 | 5 | midi/lcxl3/f1 |
— | yes |
2 f2 |
fader | CC | 16 | 6 | midi/lcxl3/f2 |
— | yes |
3 f3 |
fader | CC | 16 | 7 | midi/lcxl3/f3 |
— | yes |
4 f4 |
fader | CC | 16 | 8 | midi/lcxl3/f4 |
— | yes |
5 f5 |
fader | CC | 16 | 9 | midi/lcxl3/f5 |
— | yes |
6 f6 |
fader | CC | 16 | 10 | midi/lcxl3/f6 |
— | yes |
7 f7 |
fader | CC | 16 | 11 | midi/lcxl3/f7 |
— | yes |
8 f8 |
fader | CC | 16 | 12 | midi/lcxl3/f8 |
— | yes |
1 b1 |
button | CC · momentary | 16 | 37 | midi/lcxl3/b1 |
— | yes |
2 b2 |
button | CC · momentary | 16 | 38 | midi/lcxl3/b2 |
— | yes |
3 b3 |
button | CC · momentary | 16 | 39 | midi/lcxl3/b3 |
— | yes |
4 b4 |
button | CC · momentary | 16 | 40 | midi/lcxl3/b4 |
— | yes |
5 b5 |
button | CC · momentary | 16 | 41 | midi/lcxl3/b5 |
— | yes |
6 b6 |
button | CC · momentary | 16 | 42 | midi/lcxl3/b6 |
— | yes |
7 b7 |
button | CC · momentary | 16 | 43 | midi/lcxl3/b7 |
— | yes |
8 b8 |
button | CC · momentary | 16 | 44 | midi/lcxl3/b8 |
— | yes |
9 b9 |
button | CC · momentary | 16 | 45 | midi/lcxl3/b9 |
— | yes |
10 b10 |
button | CC · momentary | 16 | 46 | midi/lcxl3/b10 |
— | yes |
11 b11 |
button | CC · momentary | 16 | 47 | midi/lcxl3/b11 |
— | yes |
12 b12 |
button | CC · momentary | 16 | 48 | midi/lcxl3/b12 |
— | yes |
13 b13 |
button | CC · momentary | 16 | 49 | midi/lcxl3/b13 |
— | yes |
14 b14 |
button | CC · momentary | 16 | 50 | midi/lcxl3/b14 |
— | yes |
15 b15 |
button | CC · momentary | 16 | 51 | midi/lcxl3/b15 |
— | yes |
16 b16 |
button | CC · momentary | 16 | 52 | midi/lcxl3/b16 |
— | yes |
LED feedback is not modeled for this one yet, so OAV does not light its LEDs. Every control still plays and sends its message.
Sources
- manufacturer Launch Control XL 3 appendix — Default Mode (16) parameters (Novation user guide)Mode 16 cannot be edited; it sends CCs on MIDI channel 16: encoder rows CC 13–20, 21–28, 29–36; faders CC 5–12; button rows CC 37–44 and 45–52 (diagram)
- manufacturer Using Custom Modes on the Launch Control XL 3 (Novation user guide)press Mode: the 16 buttons pick the mode; "you can't edit mode 16, it's a default set of values"; custom modes 1–15 are edited in Novation Components
- manufacturer Launch Control XL 3 programmer's standalone (MIDI) mode (Novation)powers up into standalone mode; Page, Track, Record, Play, Solo/Arm and Mute/Select are unused there; Shift and Mode open menus; everything else follows the custom mode
- manufacturer Launch Control XL 3 programmer's DAW mode (Novation)encoders are absolute by default (relative per row is a DAW-mode option); DAW mode lives on the DAW interface only; LED colour messages are DAW-mode
- manufacturer MIDI on Launch Control XL 3 and Controlling your DAW with the Launch Control XL 3 (Novation)two USB interfaces: MIDI (custom modes) and DAW; macOS port names shown as "LCXL3 1 MIDI Out" / "LCXL3 1 DAW Out" (plus "To DIN Out" ports), Windows second interface "MIDIIN2"
- manufacturer Launch Control XL 3's Specifications (Novation)24 encoders with RGB LEDs, eight 60 mm faders, 16 buttons (two under each fader), Page ▲▼, Track ◀▶, Record, Play, Shift, Mode, OLED screen; 250 × 239 mm
- community Ableton Live 12 MIDI Remote Script Launch_Control_XL_3 (decompiled; non-official)USB model names "LCXL3 1" … "LCXL3 8"
Notes
Mode 16, the fixed default mode, on MIDI channel 16 — the one mode every unit has the same. Select it: press Mode, then button 16 (bottom-right), press Mode again. Custom modes 1–15 hold whatever was sent from Components and are not modelled. The encoders are endless but send absolute 0–127 by default (the unit keeps the value). Novation does not print the button press / release values for Mode 16; they are treated as momentary CC buttons. Page, Track, Record, Play, Solo/Arm and Mute/Select send nothing in standalone mode; Shift and Mode open menus. No LED feedback: in standalone the colours come from the mode itself (the colour messages in the reference are DAW-mode only). Distinct from the MK2 (port "Launch Control XL", factory template channels 9–16).
Port names it recognises
- matches
/lcxl\s*3/i- prefers
/midi/i- avoids
/daw/i/midiin2/i/port\s*2/i/to\s*din/i
Signals
Every control publishes midi/lcxl3/<control> (0..1), plus /raw; pads add /hit, encoders /delta, keys /on /off and n<note>; the last control touched is midi/lcxl3/last.
Use it
Use Novation Launch Control XL 3 in your own work
Embed it with one line
No import map, no build step. Change
layout, addhardware="ask"for a Connect button.<script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script> <oav-controller profile="novation-launch-control-xl-3" readout></oav-controller>Or as an iframe
For places that only take an iframe. Every event arrives as a
postMessage.<iframe src="https://openaudiovisual.com/embed/controller/?profile=novation-launch-control-xl-3&readout" width="720" height="710" style="border:0;max-width:100%" allow="midi" title="Novation Launch Control XL 3"></iframe> <script> // every control the visitor plays arrives here addEventListener('message', (e) => { if (e.data?.source !== 'openav' || e.data.type !== 'control') return; console.log(e.data.detail.signal, e.data.detail.value); }); </script>Send it to Ableton, TouchDesigner or Resolume
What you play on screen leaves as real MIDI on the IAC bus (macOS) or a loopMIDI port (Windows). The steps are on the catalog page.
<!-- what you play on this controller → the IAC bus (macOS) → Ableton, TouchDesigner, Resolume --> <script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script> <oav-controller profile="novation-launch-control-xl-3" midi-out="IAC" readout></oav-controller> <!-- Windows: midi-out="loopMIDI" · let the visitor pick a port: midi-out="ask" -->macOS: Audio MIDI Setup → MIDI Studio → IAC Driver → “Device is online”. Windows 11: the built-in Windows MIDI Services have a loopback (not tested by us); older Windows: install loopMIDI, add a port and use
midi-out="loopMIDI".
In p5.js, with one line
The one-line injection names knobs, faders and pads by their order in this profile, the order of the table above. Add ?profile=novation-launch-control-xl-3 to make the on-screen controller this one; a real Novation Launch Control XL 3 is recognised by its port name.
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=novation-launch-control-xl-3' }));| In your sketch | Control | Message |
|---|---|---|
fader1 | 1 f1 | CC 5 · Ch 16 |
fader2 | 2 f2 | CC 6 · Ch 16 |
fader3 | 3 f3 | CC 7 · Ch 16 |
fader4 | 4 f4 | CC 8 · Ch 16 |
fader5 | 5 f5 | CC 9 · Ch 16 |
fader6 | 6 f6 | CC 10 · Ch 16 |
fader7 | 7 f7 | CC 11 · Ch 16 |
fader8 | 8 f8 | CC 12 · Ch 16 |
function draw() {
background(fader1 * 255); // 1 · CC 5
circle(width / 2, height / 2, 50 + fader2 * 300); // 2 · CC 6
}Encoders, buttons, wheels and strips are not numbered: read them as midi.cc[number] in the table above, or react in controlChange(cc, value, ch).
Missing
Is your controller not here?
Open an issue with the brand and model, whether you have the unit and a link to the manual. Or write the profile yourself: it is one JSON file.
GitHub
Is something in this data wrong?
Every number on this page comes from one JSON file. If it disagrees with your unit or the manual, tell us which firmware you checked and we fix the file.