What I'm trying to do:
Add a fourth mode, let's call it SendsMode, to the Session page of my Launchpad—AKA when hitting the "Stop-Solo-Mute" button a fourth time, it would cycle into SendsMode.
In this mode, the bottom row(s) of buttons would turn the sends on/off for each track within the Session Ring.
Where I am now:
I have functioning code that adds SendsMode, and works for one row of sends perfectly. It changes with movements of the Session Ring.
What I need help with: I can't get it to work for more than one send at a time (the buttons go blank, but don't do anything when pressed, not reflect changes in the values done in Ableton).
Full code is here: https://github.com/jonniepeller/launchpad-mini-mk3-augmented
The relevant bit is adding the following to _create_stop_solo_mute_modes:
self._stop_solo_mute_modes.add_mode(
u"send_controls",
AddLayerMode(self._mixer, Layer(send_controls=bottom_x_rows)),
cycle_mode_button_color=u"Mixer.SendControls",
)
self._stop_solo_mute_modes.selected_mode = u"send_controls"
self._stop_solo_mute_modes.set_enabled(True)
_set_send_controlsin Novation'smixercomponent wasn't appropriate for multiple sends—it was built and used for one thing per track, like mute, solo, stop.I implemented my own
MixerComponentandNovationBasewith an adapted version of what they have for the Launch Control XL.This is the key bit that fixed my issue: