Help with refreshing states/patches etc

OK, so I’ve been using Cantabile now for 6 months or so and there are some things I’m not getting to grips with.

I’m using a Novation Impulse keyboard which uses templates.
Not enough templates onboard, and no facility to send “all templates” to the thing anyway, so I’m sending a sysex ‘template’ file every time a song loads. Works fine but is another step in the process.
I’ve also set up a binding to a keyboard button that will send the sysex file again and refresh the default song state.
I’ve set up all my songs to use Linked Racks for the VST’s common system-wide.
I’ve also setup Rack States for each of these to manage patches, which are then recalled by Song States.

Example: I’m using a string part and edit the patch while I’m playing (lets say I tweak the cutoff or resonance or something) while in song state 1, then change to song state 2.
When I go back to state 1, I’d like it to recall the state as it was when the song was saved. (i.e not contain any edits I’ve made to the patch in the mean time)
Both the Rack States and Song States have the refresh option checked (not really sure what this does tho!)

I’m assuming this is because allowing Cantabile’s ‘Preset’ system to manage the patches means it doesn’t actually unload the patch from the VST thereby refreshing the patch it when it loads again (if that makes sense?)
If I use Program Changes directly to the VST it’s fine, but then I can’t see the patch name in Cantabile.

There’s probably something super simple that I’m not doing correctly, or just haven’t stumbled onto the right combination of things yet!

I’m trying to set it up so that it works the same way for each ‘Rack’ rather than have some Songs/VST’s changing patches directly, some relying on states etc, which would allow me to then simplify the 'template file going to my keyboard as far as controller numbers, program change numbers, banks etc.
That way I might actually be able to keep track of it in my head. Otherwise fault finding is a nightmare for an old fella like me eh!

Hi Peter,

It sounds like you need to be using the lock feature on your rack and song states. The way to check and see is to

  • get the state to the sound you want to be the startup default when you call the state
  • save the state
  • lock the state
  • save the rack
  • edit the state
  • change to another state and then back again

You should revert to the saved state you locked earlier. Repeat as you need to. If you have a bunch to do, have them all unlocked till they are where you want to recall to and be sure to switch between them to check that they are working. Then, if good, you select all the ones that are ready and lock them and always save the rack or song after you lock your states. This should fix your situation I think.

On the subject of Presets it does get like a jungle pretty quick. Ther are the internal vst patches of the plugin (which Cantabile can call with PG change messages) then there are pseudo presets which are Cantabile’s way of storing all available Vst parameters that the plugin makes available to Cantabile. They are stored with the C3 song. You then have rack states which can store not only the plugin pseudo preset slots but other C3 related parameters as well. And then you have the song states on the top layer that also store parameters including the rack states if you wish to. A lot of this is governed by the States Behavior list that is related to each object in C3 and decides what parameters are saved and which are not as well as whether to save the parameters with the rack file or the song file. That’s just a summary of the way it goes, a trip to the manual would probably cover the rest. For your tasks it sounds like state locking will help out.


Hi Peter,

yes, the patch stays in memory and isn’t reloaded until Cantabile has to change the preset for this VST. So if the preset stays the same, it stays tweaked.

There are three approaches to this:

  1. force a re-load of the preset by changing to a different one, then back
  2. manually reset the tweaks you are typically making (volume, filter cut-off) with a state-load binding at song-level to re-initialize the patch.
  3. Use State Reset to re-initialize those parameters that get changed

All of the above methods work in specific circumstances - you need to try what works best for you.



Thanks guys for the input, I really appreciate it.

OK … so I’ve managed to get it to do what I need it to do now. :slight_smile:
Essentially, I hadn’t paid enough attention to the rack state options! Apologies for that, didn’t realise some of them produce such a huge list.
It’s getting pretty complicated with rack and song states and what remembers what etc.

This all started when I decided not to use program changes at Plugin level, and use racks and states instead, hoping to simplify things!
I got onto the saving/locking/saving states etc by trial and error a while ago. Understandable when you think through it, but pretty confusing to start with. I learnt to lock everything down ALWAYS to avoid surprises down the track.
I’ve also learnt to experiment with sounds etc, outside of a working song file and to only incorporate the changes once the development work is complete. Is this how others do it? Or am I just spineless so-and-so!

I’m still not 100% on the relationship between Cantabile’s Preset and the Plugin Preset, as I still see behaviour I don’t expect to see! … but I’ll get there with it.
It seems that Cantabile’s preset system remembers the whole bank the is that correct?
If I have a saved bank on a plugin and make those patches 1-1 in the Cantabile Preset, after editing the plugin bank I was expecting to see those changes reflected in the Cantabile Preset but it seems I need to reload the bank?

Thanks Torsten for the comments re: patch memory etc … I’ve now selected the additional parameters I’m able to tweak, and then using my ‘State Reset’ binding which works fine. The Rack Output Gain control was more tricky, as I want the song state to recall it, but not the Rack States. (I’m using rack level as a quick adjust between Plugins globally) again, is this common?

Thanks again guys. It’s a big subject, but a lot of fun.

1 Like