MIDI rules request: CC Toggle

I have a request…
I’d like to be able to do a CC toggle.

My controller has momentary buttons and pads that I’d like to use. They are sending “0” and “127” as would be expected on the press and release.

I’d like some way to ignore the release and send “127” on the first press and “0” on the second press so they act like a Toggle switch rather than a momentary button.

For example a rule would look like “TC” as “Toggle CC output”

MAP CH#0 TC#20 => CH#0 CC#20

Map Channel 0 CC#20 as a Toggle Controller Change to Channel 0 Change Control 20.
And the ultimate solution would allow setting the On and Off values as well like this where a button on CC20 would act as a volume toggle between two set points 32, and 96

MAP CH#0 TC#21 VAL#32,96 => CH#0 CC#7

I’ve spent some time looking at the various code, and I can’t see a clear path to add this myself…

Which controller do you have? Some of them are programmable themselves!

Yeah, I have one of each. A smart and a dumb. My smart controller has this functionality which got me thinking that I wanted it built into the MIDI rules. The Launchkey 49 on top is the dumb one that I want this functionality on. I want the controllers to act identically, and I am starting to lean towards a launckey 61 on the bottom.

1 Like

You would be better opening a bug on github for this.

@Baggypants, Ok, I’ll do that in a little bit. So it sounds like this is a reasonable feature, and would be desired by more than just me? Especially with evidence that some controllers themselves provide this functionality, but low end devices do not?

1 Like

If I clearly understand what it means, it would interest any Arturia Factory 32 user, as the 2X8 push buttons, are “gate” switches, not “toggle” switches…

1 Like

Hmm, I might need the same functionality for Notes as well. The pads on both my devices send note events (CH 10 drum pads?), and that would allow me to use them as toggle buttons for CC parameters.

MAP CH#10 TN#43VAL#0,127 => CH#0 CC#20

Map channel 10 note 43 as a toggle event to send 0 or 127 to channel 0, CC 20.

Filed as a feature request: