Novation Launchkey 49 Mk2 InControl buttons

I just bought a used Novation Launchkey 49 mk2 for a first foray into MIDI controllers with Ardour. I’ve used keyboards for MIDI input before, but only for notes, never for controller functionality.

I managed to get everything working except 1 crucial feature: The InControl buttons should, according to the manual, be able to switch the operating mode of the sliders, rotary controls, and launchpads. I’d like to be able to use that to add a sort of “control layers” functionality where, by default, these controls map to their regular defaults (sliders to track gain, pots to track pan), but an other layer could be activated to use the sliders/pots mapped to plugin parameters (e.g. synth parameters or EQ).

Is this possible with this specific setup (Ardour8 on Linux with Novation Launchkey 49 mk2)?

Bonus question: How do I set colors on the drum pads? I don’t know anything about how to use these yet, I’m a complete noob to this hardware/this workflow, I’m trying to learn as much as I can

In general this level of support for a control surface requires writing C++. You might be able to get the layers behavior depending on what the LaunchKey actually does. But the lights in particular would require a dedicated module written in C++.

Ok, I do have a little bit of experience with C++, but I don’t know about writing from scratch. By chance are there any other modules that you could point me to for reference or to base something off of? Is there developer documentation for Ardour?

Also, would this be an independent module/plugin or would this be a contribution to the Ardour open source project? I’m not familiar with the software architecture of Ardour

There are numerous modules in libs/surfaces. There’s no standalone documentation, though doxygen can be used on the source tree to generate somewhat informative code tree maps. There is also doc/source_tree_layout.txt to provide a general overview. New MIDI control surface objects should inherit from MIDISurface. The Launchpad Pro is probably the most suitable one to consider as a rough guide.

Control surfaces end up as a dynamically loaded module within Ardour.

I have a Launchkey MK3, and I have downloaded a “programmer reference guide” from Novation website (I think).

In this guide there is detailed information on how to change the pads colours. Mine is MK3, maybe it all doesn’t apply to your model.

Anyway, I have tried last year and I could indeed change the colours by sending from Ardour MIDI control signals (with a plugin) to the keyboard.

If I remember correctly, it only worked with the keyboard in “DAW mode”, and the changes would not survive a power cycle.

Also, there was a software for controlling various aspects of the unit via web-browser (it worked in linux).

[…]

Ok, it seems that it is possible: Programmer manual at page 6 has some info.