Making shift/funtion buttons for MIDI controller

controllers
midi

#1

I'm trying to create a subpatch that allows me to turn a row of 8 buttons on a MIDI controller (specifically for the Novation Launch Control XL, but the same could be applied to any amount of similar controllers) into shift/function buttons for 8 faders, effectively multiplying my amount of faders by 9 (unshifted + 8x with shift buttons).

I have managed to get this to work, relying heavily on the "rbrt/control/gate_hold" object, but there are two major problems:

1) while any of the shift buttons are pressed, the CC from the unshifted group is also sent. Is there a way to multiply/sum bools in such a way that the unshifted group is filtered out while any of the shift buttons are pressed?

2) when any of the shift buttons are pressed, the CC values of all 8 faders in that shift group are updated. I would want that only a fader that is moved while pressing shift is updated, not all of them. I've tried chaining 2 "rbrt/control/gate_hold" objects in series (one gated by the shift button, one gated by the trig output of the "midi/in/cc" objects of the individual faders), but this has no effect. How could I go about that?

fader_shifter.axs (45.2 KB)


#2

Managed to solve problem #2 with some "logic/and" gates, thanks to a tip from @fakework

Just need to work out #1 and i'm good to go!

fader_shifter.axs (64.3 KB)