LED sysex in keymapping Launchpad X

The Novation Launchpad X supports LED color mapping with SysEx messages but for some reason I’m unable to get this to work with Ardour6. When I try to set the LED with a “Generic MIDI” *.map config file, I’m unable to get the board’s LEDs to light up.

Programmer’s manual:

According to the manual, I should be able to use the example on page 15 to light up the bottom left three pads (sans the “h” appended to the hex values). When I try to add a SysEx entry to a Novation_Launchpad_X.map file to accomplish this, the pad never lights up. I am testing this with the following method:

  1. Enter the SysEx line in the *.map and save the file.
  2. Switch Ardour6 to a different map,
  3. Switch Ardour6 back to custom map.

I’ve confirmed this method reloads the map when switching “actions” but it doesn’t seem to help with the LED situation.

Config I am using to try to light up my Novation Launchpad X MIDI controller via SysEx message from Ardour (see page 15 of linked PDF):

<Binding sysex=“F0 00 20 29 02 0C 03 00 0B 0D 01 0C 15 17 02 0D 25 F7” />

MIDI connections:
LaunchPad X MIDI 2 → Generic MIDI Control in
LaunchPad X MIDI 2 → MTC
LaunchPad X MIDI 2 → MIDI Clock
LaunchPad X MIDI 2 → MMC In

Generic MIDI Control Out → LaunchPad X MIDI 2
MTC Out → LaunchPad X MIDI 2
MIDI Clock Out → LaunchPad X MIDI 2
MMC Out → LaunchPad X MIDI 2

Based on this configuration, should an event trigger from one of these four Ardour6 outputs to light up the board’s designated pads when switching to the custom map?

I don’t believe that it’s sensible to try to make this work using our Generic MIDI support. Devices like this benefit from dedicated support (which we have for the Push 2, Maschine and others).

In addition, I think you’re confused about what the <Binding…> forms mean. These are messages to be received by Ardour from the device, to trigger some action within Ardour. They are not messages that Ardour will send to the device.

Thanks, Paul! I definitely was confused and wasn’t sure if these maps files were bidirectional or unidirectional and that the Bindings parameter was a one-way street.

How can one go about creating Dedicated Support for this controller (Novation Launchpad X for Ableton)? Is this something that the Hardware Manufacturers themselves need to work on exclusively with the Ardour Development team? If not, I’m more than willing to spend some hard hours on this if this Dedicated Support can be sourced from the community. I plan to use this controller for live performance using only FOSS and color coding the pads via SysEx would help tremendously with sound/feature organization.

I answered my own question. I downloaded the ardour source and found the existing control surfaces in $source/libs/surfaces. This is going to be a lot more of an undertaking than I had originally thought.

Thanks again for your help!