Match Ableton Clip Color to reflect as LED state on MIDI Pads for Akai APC40 MK2

5.75K viewsCSS Feature Requests
0

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).

david_acosta000 Answered question
Attached Files:
1

Here’s the latest version that reduces the amount of Modifiers being used + shrinks the amount of Mappings/Reactions down to 5.

It still uses 2 Modifiers (m19 and m20):

  • m19 is used to trigger the update of the LED’s with whenever the Session Box is moved
  • m20 contains a dictionary to save all the variables in that were previously saved in separate Modifiers

What you’ll need to do for it to work with your setup

All of the movement functions for the Session Box have been condensed inside 1 Reaction.

This Reaction takes 4 buttons as Listeners (the 4 directions of movement).

You’ll need to change these listeners in the following order:

1. Left
2. Right
3. Up
4. Down

Let me know how it works on your setup.

Glenn V. Posted new comment

Hi Glenn

First, many thanks for your answer and actions !!!

1) So, regarding the new move direction condensed in one action, it works really well 🙂

2) Regarding the colored light. I conducted my research and I also observed that for it to work I had to add as a condition ‘listening to the buttons pressed’ as it did not react to traditional session box move. I see that you ended up with a similar (though more elegant) solution.

3) Regarding the mysterious orange lights:  I have these orange lights that are sometimes displayed exactly where clips are, and for some reason also in column 6, regardless of if there are clips in column 6. They appear if I click anywhere outside the box with my mouse (for instance to change a parameter on a device, or on a clip slot outside the session box). Concretely they will replace the right colors and every clip becomes orange (+ some lights appear on column 6 regardless of if there are clips there). Moving the box or reactivating manually the script for clip colors remove the orange light (ie. the pad takes again the appropriate colors and column 6 lights disappear).

For a long time I thought it was part of your script not working correctly. But after rechecking, in fact these orange lights seem to be a behavior that is part of the APC40 MK2: they appear even if there is no script about colors. I have no clue why they are here. Apparently when the script you provide is activated, it overrides them and then everything is fine and the clip color matches. But when clicking outside the box, the device seems to revert back to some kind of default behavior and these orange lights appear. I’m trying to find a solution to remove the lights from the APC40 by communicating directly with it through Sysex but I don’t have much hope on this front.

=> I think maybe one solution could be to constantly reactivate the color script for nearly any action taken in Ableton Live. Maybe through a listener that is quite general (is there something like “when anything is selected”?) and that would reactivates the color clip script each time…
Cheers

Almost sounds like you need a Listener that triggers whenever you click your mouse in Ableton.

I’m guessing this next suggestion won’t fix all of it but you could try taking away the 4 conditions in Action Block 2 of the Reaction “Save Scene and Visible Track Positions” which makes the script only update whenever you click a clip inside the Session Box. Those conditions were mainly to limit what I deemed unnecessary computing but in your case it might help out.

Maybe I could try and make a Reaction that continuously updates the LED’s, like with the code you got through ChatGPT by re-scheduling it. I’m wondering how intensive that would be on the program, but there’s little harm in trying it out I guess.

There’s also a lot that hasn’t been considered yet with this script, like how to make it show on the LED that a clip is playing. I’m guessing you’d want it to blink. And maybe also a way to temporarily turn off this feature if you want your LED’s to represent something else.

Hi Glenn,
-To simulate a nearly continous triggering, I’m using clip_playing_position (it was the most simple method for now because I’m not comfortable with custom code), it work 90% of the time (for some reasons sometimes it does not refresh even if a clip is playing). I guess for now I consider this workaround functional

-Yes, indeed the clip playing part is very important because it helps a lot to quickly see where am I on the session box, especially as it is normally blinking. I can’t use the remotify session default function because :
1) It dose not enable blink (which is done through channel on APC)
2) Default behaivor of session box is now quickly ovverriden by the custom reaction color script.

Can you please point me on how to implement this? So that the current clips playing are blinking. Normally blink is a midi message to another channel (for instance channel 16 instea of channel 1) I have no clue if we can do that – worse case a continuous on/off would do. To me the complex part I have no clue is to detect the clip playing and have it a specific behavior that overrides the normal reaction.

I’ll check it out in the following days. I was working on something else first.

You are viewing 1 out of 16 answers, click here to view all answers.