LED Feedback between modes, Looper Questions on Softstep 2

267 viewsCSS Questionsled feedback Looper
0

Hello all! I have a working script that controls the first 8 parameters of the selected track.  I am able to get LED feedback that updates as I switch tracks.  I have a mode toggle and the LED feedback is working, but it also sends several other seemingly random LED messages to the Softstep.  Is there a way to “flush” all LEDs when switching modes?  Same deal when I boot up ableton, it starts with a bunch of random LEDs coming on. If I switch presets on the softstep, it will flush those out as I have all the LEDs turned off in the corresponding softstep presets.

Second, I’d like to use the Looper device without having to manually map.  It doesn’t seem like I can target the multifunction button.  Am I missing something?

Thank you for reading and for any help or pointers.

Glenn Verhaeghe Answered question November 18, 2024
0

I have a mode toggle and the LED feedback is working, but it also sends several other seemingly random LED messages to the Softstep.

  • Is this random behavior only happening when using the mode toggle?
  • Could another surface script be sending values to the LED’s? To check this, you could set all other Control Surface scripts in the settings of Ableton to None and check if the issue still occurs.(see picture below)
    • If it still occurs, it must have something to do with your own script. I could review it if you upload it here.
    • If the issue is gone, then some of those other surface scripts might be sending values to the same Channel and CC’s that you use for the Softstep; Changing the Channel of your controller and its CSS template (to a channel that’s not used by any other controller in your setup) should alleviate this.

Is there a way to “flush” all LEDs when switching modes?

You could create a Reaction that Listens if the Mode it is linked to is Activated (pic 2) and then sets all the LED’s to a certain value (pic 3, repeat this Action for every LED). You’d have to make this Reaction for every Mode you want to use it on (pic 1).

It doesn’t seem like I can target the multifunction button. Am I missing something?

No, you’re correct, you can’t use a Control Surface to activate the Multifunction button with. Instead, you can change the “looper state” parameter, which refers to the 4 states: stop, record, play and overdub.

Here are the sources for the pictures below:

It’s also not possible to use Undo, Redo and Clear through a Control Surface script.

A work-around for these limitations

I use a Nektar Pacer MIDI pedalboard and have found a work-around using SysEx messages (aka Raw MIDI) which can be used to change the CC’s of a button on the controller itself using a script. This method still involves manually linking the Undo/Clear/Multi button to a CC in Ableton’s MIDI mapping. Here’s an example of how it works:

  • In Ableton I map the following MIDI CC’s:
    • CC 13 = Multifunction button
    • CC 14 = Undo
    • CC 15 = Clear
  • In my script and template in CSS, I use CC 12. Meaning that, when I want my controller’s switch to access features inside the script, the switch needs to send out CC 12.
  • By default, the switch sends out CC 12 to start with.
  • Here’s an example of how I could program the switch to work:
    • with the first press of the switch, the looper state changes to Record.
    • With a second press, the looper’s state changes to Play.
    • Let’s say I want to use a third press of this button to Clear the Looper, which can only be activated if the switch sends out a CC of 15. To make this happen, during the events of the second switch press, I let the script send a SysEx message to my controller to tell it to change the CC of the switch from 12 into 15. Now the switch is primed with CC 15 and will perform a Clear on the third press.
    • How will I now return the switch to CC 12? Because as long as the switch sends out CC15, the script won’t recognize the messages. I can do this by creating a Reaction that Listens if the looper’s state has changed to Stop. The Looper will always Stop when you use Clear. If the looper’s state is equal to stop, then a SysEx message is sent to the controller to change the CC of the switch to 12, no matter what CC it had before.

If you’re able to get your hands on the SysEx commands of the Softstep controller, then it might be possible to do the same. I got the Nektar Pacer’s SysEx documentation by contacting the company.

Glenn Verhaeghe Posted new comment November 22, 2024

I was wrong to tell that you couldn’t make the script recognize CC 15. All you would need to do is to add CC 15 to the template and then add CC 15 as a Listener to the Reaction. Even though you’d use CC 15 mapped directly to a parameter inside Ableton, you could still have the script listen to its button presses and make it do something extra (like sending out another SysEx, or reset some parameters).