How to have a CC increase in value with every switch press?

I think I saw something about that here a while back but can’t seem to find it. As a guitar and EWI player my hands are always full, so I rely on my pedalboard. I have a button on my FCB 1010 dedicated to a +2db gain change, mainly for my monitor if the band gets louder, or the bass on one song is overpowering, etc. Works great within C3. But I’m wondering if I can have another button control my Aux send monitor mix on an XR18 (preferably an individual fader like my Mic, or a group of 3 faders). So I need to have the CC value increase by an amount I’ll specify with each button press. Of course, I’ll need to set a constant baseline value as my default/constant, i.e. 64 or wherever I want that Fader to be… sort of like a “return to 0db”. I’ll also create bindings for -2db on another button.
I’m guessing I’ll make these bindings in the Background rack.

1 Like

If you don’t manage to get this done inside Cantabile you could look at Bome MIDI Translator Pro. I’ve been running it in the system tray. It’s tiny and reliable. Steve on their forum can help point you in the right direction for the script portion of the project.

Hi @twaw,

maybe the Controller Latch filter could be of help. According to the link below it “Transforms an incoming MIDI controller button or pedal press to a sequencer of controller values. On each press of the source controller button/pedal the next value in the sequencer will be generated as a new controller event.”

You could set a list of values alternating between a reset value and a boost (or attenuation)
value so that one press gives you a boost and the next returns to the default. You could use the control bar in live mode to get a visual feedback of the currently selected value.

Just my 0.02 euro.


Latch…Very useful function.
All these buttons require separate controller numbers. Using latch I can assign one physical button and step through each button. In this case, one latch series steps through Voice Assign and another latch series on another physical button sets number of voices. This is certainly the function you would employ to achieve your task.

Thanks for the ideas, I’ll take a look!

The latch filter works beautifully, thanks. Now I’m trying to get a Controller Bar button to show the current CC value at all times, but I can’t seem to get it. Here’s what I have:

So the button press on the FCB footpedal sends CC21 on Ch 3. Routed to an FCB rack, then to the Onscreen Keyboard.

If I click and hold on the bar button I see a slider but it’s static and won’t move with value changes. If I let go and change value and click again it shows the new value. I just want the Bar to show the current CC value all the time.
Must be something wrong in my Caption?

Hi Tom,

Try $(cc(21))


Hmmm, I tried a few other variations but not that. But when I try that I get an Error and still no luck.

maybe it’s badly written? Try $(cc(21))

Tried copying/pasting too. No luck. But i did get it to work without any caption at all. It only shows for a couple seconds though, if possible I’d like it to always displayed.


Hi @twaw,

my guess is that if you just need to show the value, without interaction, you should choose “No Action” instead of Midi Controller.


Thanks, no luck either. With no caption at all I do see the values changing, in small unbolded numbers in the Caption area, but they only hold for a second or so.

There must be something else i’m doing wrong. So the routing and everything else appears to be correct because I am getting values, they just don’t hold. I’m not selecting from the menu under TIP, I just typed “Vol”.
Hmmm. I’m still on build 3702… could that be it? But from older posts about this topic it seems to be an pretty old feature…?

Have you tried “No Action” in the “Action” field as I suggested? or just “No caption”?

What I am referring to can be found in this thread:

Maybe you can get some inspiration from there.

The best of luck!


1 Like

Thanks Gabriel, yes I tried No Action in the Action field. Something is definitely wonky. Thanks though.

Got it. This is what worked, inserting the channel.

Odd, I’d tried that early on but must have had a mistake in there somewhere. Thanks for the help!