Match Ableton Clip Color to reflect as LED state on MIDI Pads for Akai APC40 MK2
A lot of use on the forum are asking for this feature. We want the Akai APC40 MK2 PADS to light up based on the clip color of the Ableton clip that gets loaded on that PAD.
why did you choose to only go with 3 states for LED feed back? what are you going to implement so that we have LED color matching to clip color on Ableton?
we bought and purchased CSS with the idea that MIDI Mapping would go by a lot faster with your tool you created, so far it’s been more of a hassle trying to get your program to work appropriately mainly because the APC40 has 3 modes like MCBeats has mentioned on multiple forum posts and responses.
MCBeats has even provided the solution to set the modes (giving us a template ready for you to update on your program so that it’s easier on the users to choose between modes (mode 0, 1, and 2).
A little update on the script. I’m in the process of writing code that should send velocities to the buttons on a controller based on a Clip’s color index. Because I don’t the AKAI controller OP mentioned, the script is set to work with the MIDI Fighter Twister at the moment (using Remotify’s template for the device).
I made a dictionary of colors and a list of buttons and assigned each to a modifier.
The color dictionary doesn’t contain all color indices. When a color index is not present, a standard velocity will be sent from key -1 in the dictionary. In this case key -1 refers to velocity 0, which produces whatever the Off color is that you’ve set for the corresponding button (using MIDI Fighter Utility). So it’s best to set all the Off colors for the buttons to Black.
Only the MIDI signals for the 1st virtual bank of the MFT are collected in the list.
The code runs through all tracks and scenes contained within the session box, checks each clip slot for a Clip. If it has a Clip with a valid index, it will produce the corresponding color on the device. If it has no Clip or a Clip with invalid index, it will produce the Off color (in this case). When the session box isn’t full of tracks or scenes, it will produce an indexError that invokes the exception, where also the Off collor will be assigned to the corresponding button.
The code runs from an Action within a Reaction.
I made one Reaction that invokes the code via button press (bottom right button).
I made another Reaction that invokes the code when initializing the script and when moving the session box.
There are a few hurdles I’m facing at the moment:
1. How can I make the colors reload after changing the color of a Clip inside the session box? I tried making the script add a Color Index listener to the currently highlighted clip(s) but that didn’t work out as I hoped it would.
2. What other changes does the script need to keep track of? I’m guessing changes in Track and Scene numbers. The addition and removal of clips within the session box. Are there more?
Sign up
User registration is currently not allowed.