At the moment I have pretty much implemented all the hardware functionality and am thinking about the different modes I want to implement and how to achieve a sensible mapping between the pads and corresponding MIDI messages and so on.
As a first use case I want to assign the first 16 pads to soloing the corresponding track, the next 16 pads to mute and the next to record. They should light up in different colors, e.g. red for the record pads.
I have created a midi_map and it is working as expected except for one thing:
When I push one of the buttons the action is performed and due to Ardour’s feedback MIDI message the pad lights up or is turned of. Now when I save the session with say a track muted and open it another time the pad will not light up because Ardour does not send feedback messages for the current state.
Is there any possibility to generate initial feedback messages for all the midi-mapped parameters? Is this implemented in some other controller class like Mackie? As I have full control over the firmware I could for sure include Mackie protocol support. I also thought about some kind of OSC translation daemon or something in that direction. On the other hand there is Lua as well but I am not sure if you can hook into the control MIDI channel. The last option would be to implement a custom control device class but I think this would be a bit overkill.
What do you think? Is there something obvious that I might have overlooked?
Thank you for your feedback!