One of my goals for Cantabile in 2017 is to not just add new features but to also refine what’s already there. To that end, today I put up build 3233 which includes a couple of major changes and quite a few little tweaks and adjustments.

This post is a whirlwind tour of what’s changed (if your a regular on the forum you’ll be aware of much of this already).

Prompt to Save with Pre-loaded Set Lists

When using pre-loaded set lists, you’ll no longer be prompted to save changes when switching between songs. Rather, songs will be kept loaded, possibly marked as modified — which will be indicated in the set list panel:

and you’ll be prompted to save when you close the set list (or turn off set list pre-loading):

You can prevent this prompt using the setting Options | General | Save and Load:

Rack Save Options

Previous builds used to prompt to save racks as part of saving song files. This kind of worked, but if you chose No then you’d be prompted again on the next song. It was a bit broken.

Now you’ll never be prompted to save racks. Rather there’s some new settings in File | Rack Options to control whether the rack should be saved or not when it’s unloaded (ie: when no more song’s are referencing it)

  • Never — the rack is never saved automatically, but you can use File | Save to explicitly save changes you’ve made
  • Only on Significant Changes — save the rack if there have been changes made to anything other than plugin settings.
  • On any change except via bindings — save the rack if anything was changed, except ignore changes resulting from a binding.
  • On any change — save the rack if anything was detected to have changed.
  • Always — always save the rack even if it appears nothing has changed.

Note that because some plugins don’t accurately notify the host when something has changed, the Always option can be used to make sure you capture those changes.

The “Never” option is good for once you’ve got a rack setup as you want and want to lock it down.

Also note that the “Always save when saving parent song” option has been removed and will be migrated to “Always”.

Revert Rack and Song Commands

Since racks might always save themselves when closed, there needs to be a way to manually back out from that commitment if you make a big mistake.

So, there’s a new command File | Revert which will discard all changes and reload the file:

Locked States

States can now be locked — which supersedes the old “Automatically Update States” option.

Locked states are indicated in the states panel with a lock icon:

An unlocked state will be updated when switching to another state. Locked states won’t be.

You don’t need to unlock a state to update it — just use the Update State command as per before.

New State Menu

The commands for managing states were previously scattered over a few different menus so they’ve been consolidated into a new “State” menu:

You’ll also notice a new command “Revert” which will undo any changes to the current state as well as commands to lock and unlock all states.

On the topic of states, there’s also some feedback now whenever a state is updated:

Finally on states… on the forum there is a discussion about the idea of adding a “Default State”. I’ve not committed to this yet, but if you’re interested the discussion is here.

Routable Metronome Sounds

Note: this feature was causing some stability issues so it’s been temporarily removed until a solution can be found. If you’re getting crashes in build 3233 this is probably why — please update to 3234.

Metronome sounds can now be routed just like any other audio source.

  1. Create a mono input audio port named “Metronome”. You don’t need to map it to any audio driver channels (though you can if you want and they’ll be mixed together).
  2. Route it like you would any other audio signal.
Create an audio input named “Metronome”
Route it like any other audio source

Note that Cantabile will now send metronome sounds to any audio input/output port named “Metronome”. If you have both ports it’ll send to both. Be aware of this if you’re processing audio from the Metronome input port and sending it to the Metronome output port — both signals will be mixed. So… you probably want to use a different output port for the processed/routed metronome sounds.

Key Range Names on Compact Keyboard

When the onscreen keyboard is in compact mode, it will now display the routing target of any displayed key ranges:

Slider and Knob Improvements

A couple of little improvements to knobs and sliders:

  1. You can now use the mouse wheel to adjust all knobs and slider settings
  2. Hold shift key with mouse wheel for fine adjust mode
  3. Control+Click on any slider or knob will reset it to its home position (ie: 0dB for gain sliders, center for pan etc…)

Miscellaneous Tweaks and Bug Fixes

Finally, there’s been a few little tweaks like:

  • The Global Transpose command has been moved from the Edit menu to the Control menu.
  • Some terminology changes (eg: the states panel used to be titled “Song Parts” but this was cause some confusion so it’s now “States (aka Song Parts)”.
  • Fixed an issue where Cantabile wasn’t shutting down cleanly if Windows was shutting down.
  • Fixed relative encoder bindings to gain settings not working correctly.
  • Other minor bugs.

Available Now!

Phew! This build includes a ton of work — I’d be reluctant to use it live just yet (it is marked as experimental) but it’s available now and as always I’d love to hear your feedback.