I’m a huge fan of Akai Professional products in use with Ardour. The MPK249 works beautifully, for example. I recently acquired an APC64, which I’m loving, but feel it might be hobbled due to the many Ableton-ready features that are not being adapted for use with Ardour in whatever way makes sense for the DAW that it is.
Besides simply mapping through an XML file, I’d like to see if it’s possible to get Ardour to interact with the APC64 in a bi-directional fashion, as Ableton-APC64 does. That means having columns change to the colour of Ardour’s tracks, etc. I currently don’t know how to do that. If there’s some sort of sysex to look out for, I don’t know how to capture that (kmidimon?). If it’s a matter of writing something much deeper in C++ and merge it with Ardour, I don’t know.
That’s why I’m here. I’m looking for guidance and direction. I’m very comfortable with programming, but I’m never done something for a DAW, other than the odd LV2/VST3 plugin. Hardware is a different kettle of fish. Any direction on process and examples of the like (I’m talking USB-MIDI hardware) to learn from would be helpful.
I asked Akai about this as they released the APC64. They were initially very super-supportive and excited, and then went totally silent, never responding to any further communication.
You would need to write C++.
All our control surface code is under libs/surfaces where you will find the Push2, Maschine and Launchpad devices as useful models for how to do things. If you can get docs from Akai, that will be helpful; otherwise use Ardour’s MIDI Tracer window, or gmidimon or kmidimon to track what messages the devices sends.
To control colors and the screen on the APC64, you will likely need assistance from Akai.
Thanks for that bit of info on Akai’s initial communications re: APC64, Paul. I’ll contact them directly and see if they’ll cooperate. This is such a great controller with aspects that would work so well with Ardour.
I figured it’d be in C++.
I will definitely clone Ardour from master and take a look at libs/surfaces for examples. Super excited about that.