Send one binding when MIDI CC Button pressed and another when released

Hello again folks… As you can probably tell I’m experimenting a little with Cantabile to see if I can find alternate ways to do certain things. One of the VSTs I’m using at present is Audio Damage Enso (a really nice looper). It has some built in MIDI CC which allows one action on pressing CC and another action when releasing. I’m currently using this so when I press a pedal on my FBV Express it stops the loop and when I release it RTZ (returns to zero) therefore I’m only using one pedal to achieve both tasks… pretty nifty.

This got me thinking if I could emulate this using bindings. I did a little research on the different MIDI CC Bindings and it looks like selecting ‘Controller Button’ would achieve the same results but I can’t seem to figure out how to apply this to a VST.

So, long story short, is is possible to create a binding for when a MIDI CC is sent (pressed) and another when it is released). As mentioned I’m using a FBV Express pedal which I guess sends a value of 127 when pressed and then 0 when released (although can’t confirm).

Pretty sure this is achievable but something is eluding me… Can anyone help point me in the right direction?

Thanks in advance folks! :smiley:

Hi Hunter,

This can be done with cascading bindings ( I just made that up :grin:) anyway here’s how I would do it in Cantabile. No doubt there is an easier way in right in front on me but I can’t think of it right now so here goes.

First I would make a linked rack to act as the pedal press switcher or processor. e.g test12

I open it and create an embedded rack (Rack 1)

I go to the bindings tab of rack test12 and make these bindings. They look crazy but what they do is that they create 2 switch states for the same CC when you press the pedal and 2 more switch states when you release.

As you notice they are routed to the embedded rack so we will now open that rack and create some rack states and some more bindings. There are 2 states, one for the pedal press and one for the pedal release. Since our other bindings we made create pseudo 2 state switch events Cantabile’s No Edge Button option can react to both of the switch combos the other bindings make. Rack State 1 is pedal released and Rack State 2 is pressed. For purposes of example the pedal press

  • changes the rack state to “2” and turns the test rack color Green


and the pedal release changes the rack state back to 1 and sets the color to Blue


You could do anything with the second set of bindings as long as you preserve the switch types (No Edge Button) so that’s my tutorial one way you can do what you asked about using Cantabile’s many features. I hope it helps!

Cheers,

Dave

1 Like

Holy Moly @dave_dore - that is quite inspired! :open_mouth: Wow… I’ll need a little time to work my way through it just to make sure I understand how its all working but I think I follow. This will be great as having limited footpedals means I can be a lot more creative… Wonderful wonderful stuff! Thank you so much! :raised_hands::raised_hands::raised_hands:

Here is the rack for you to fool with … just send your CC64 sustain pedal to it and open it to see how it’s made and to change the actions for each state (see pictures).

test12.cantabileRack (26.0 KB)

If I can help with any specifics , I’ll try …

:slight_smile: Dave

2 Likes

@dave_dore Once again - thank you! Seriously this is fantastic! I’ve had a little play and… well… it does exactly what I need! This is awesome :sunglasses: And it’s so flexible too… I guess the Rack 1 bindings can only route to objects within Rack 1 (which is absolutely fine)… Also I didn’t realise you could embed a rack with a rack (albeit an embedded rack) but this is a perfect utility rack that I suspect I will be abusing plenty. And I guess the rack state for Test Rack 12 can continue to manage rack, and song states too… I can’t thank you enough! You, sir, get a Gold Star :star:

I’ve actually been using it as a simple Mute (hold) button (just to test) which means if I want to drop the audio for a loop, rather than stop/reset (1 pedal) and then play (another pedal) I can just hold down the pedal to mute for the duration I want and then when released the audio will resume (so it keeps in time etc)… But this will do sooooo useful for so many things… PERFECT!

1 Like

They can route anywhere, in fact the color changes in the example are aimed at the Linked rack “test12” that holds the embedded “Rack 1”. Example would be the same rack with different actions, this is an example of routing the actions outside the rack for other uses his send a CC11 switch message on the press and a CC16 message on the release.

As you see the messages can go anywhere … There are of course some functions that may not work but most will. Also check that the Environment ports are available in the racks, it allows you to route many places from right at the binding instead of routing out of the rack as I have shown.

Dave

2 Likes

Aaah… Of course. I’m testing on my test laptop (which I didn’t have ‘Environment Audio and MIDI ports in racks’ selected)! Thanks for the pointer… Crikey… This is gonna be fun! :smiley: Thanks again (again)!