WARNING! This is a not a finished product. I wrote it for my own use, so I did not spend time in polishing the User Interface yet. There are parameters to be configured manually as well (if you want to tailor the device to your own Ableton Live set). Last but not least, there are behaviours to be aware of when using the device. But I am actually using it in my live sets and it works perfectly|
Please also note that the device must be used with a Bome MIDI Translator Pro set of rules.
Coupling a MAX4LIVE Device (often a LiveAPI one) with a MIDI set of rules is a rather easy way to avoid writing Python Scripts for Ableton Live.
REQUIREMENTS: an Allen&Heath Xone K2 MIDi Controller with custom-configured MIDI Channel.
I use two Xone K2 linked together (single USB), one on MIDI Channel 12 and the other on MIDI Channel 13, and I use Latching Layers. But this device can be used with a single Xone K2 with or without Latching Layers.
My general approach to the Xone K2 in my setup is to avoid the APC40-like box-based classic configuration, aimed to move around an Ableton Live set. I prefer to use the Xone K2 for my own completely custom MIDI maps.
If you like this Device, feel free to contact me and I will send the .amxd file to you for free. You can use it freely (without my help) if you like. Or I can help you to integrate it in your Ableton Live set (via Skype) for a small PayPal contribution.
This MAX4LIVE device covers the scenario explained also in the comments below. If you have a Track with many clips playing by themselves using "Following Actions", you don't want to waste K2 buttons in visualising the whole Track. But you need to check (while playing alive) if that Track has a clip currently playing. This device check is a clip is playing in a certain Track and makes sure that the single button used to fire the first clip remains lit until STOP is pressed. Basically it works together with the MIDI Translator rules to ged rid of the NoteOff events aimed to shut down the button's LED, except when STOP is pressed and an actual NoteOff is needed.