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.