How to deal with toggle/non-toggle CC button?

+1 vote
asked Apr 8, 2024 in Advanced by the-elf (1,190 points)
So it needs to receive 127-0 to toggle ON and 127-0 to toggle back OFF? I think you can do this with more supercontrols and subcontrols. For instance, a button sub can be "send on only" and then send a 127 or a zero. So you could make a supercontrol send a lot of values on each press (this is a rough idea, of course). You could also do this with Stream Byter.
Thanks. Yes, I've managed to cobble together something using a Supercontrol and 'Send On Only' for two buttons.

Each Sub-control is sending 127 and the Supercontrol is sending 0 and set to 'Vintage Throttle' (since the recipient was ignoring it otherwise). Even so the results are not consistent.

So this does kind of work, but... I have no way of flagging a change in the parameter received from elsewhere, since I have identical values for both buttons.
Supercontrols should never send, Elf. Avoid using supercontrols send own values! Make more controls.
I've had to resort to this on a couple of occasions. I don't like it, but it's been a necessity.

Example: https://mididesigner.com/qa/9928/dsi-tetra-with-sys-ex-receive
Think we solved something like this recently.  But my memory recall is slow - queued up now, lets see if it will remember before the eclipse.
Thanks. This is a toggle to set forward/reverse on a looper plug-in. Hopefully it makes some sense in that context.

1 Answer

+1 vote

To check, you need to to send Cc xx 00 Cc xx 7F to toggle state either on or off.

Solution 1: Make a knob, MIDI is desired Cc channel & number, named ticks, three ticks, values are 127, 0, 127

Make a button, toggle, no send / receive, supercontrol of the knob, options as super - snap to value.  Start at 10ms and adjust timing as needed.

Solution 2: We can also trap in StreamByter, change any instance of Cc xx to the 00 7F sequence, esp now that Dan has fixed delays.

Something like:

If M0 == B2 32 # desired Cc and channel here
   SND B2 32 00
   SND B2 32 7F +D100 # Adjust delay as needed
   Block
END
Prolly more solutions.
answered Apr 9, 2024 by jkhiser (19,810 points)
edited Apr 9, 2024 by MIDI Designer Team (jkhiser)
Awesome. How many solutions are listed here? Two, or three? Thanks.
2             
Thanks!

I should have come up with the SB solution myself. You can get so close to a problem that all common sense thinking goes out of the window!

The super-control solution... I need to think about that one. Err...
No joy with any of the above. I've arrived at a completely different solution - change the looper!
...