Today Cantabile build 3258 has been released which includes a long list of improvements. Here’s a quick run down of everything new with links to more information where needed.

But First… Backup Your Songs and Racks

The first and most important thing to note about this update is that it introduces several non-backwards compatible file format changes.

For this reason you should take a back up copy of all your songs and racks. You’ll need these in case you decide to go back to an earlier build. If you use files saved in this version of Cantabile, some settings won’t be preserved when opened in an older version.

Also, as all new Cantabile builds, this one is tagged is “experimental”. For practice and prep it should be fine but I wouldn’t use it live just yet.

Cantabile Reviews

In case you missed it, there’s now a Cantabile Reviews page.

Thanks so much to everyone who’s already left a review.

You might like to checkout what others are saying about Cantabile, or if you’re a fan please consider leaving a review of your own — it really does help spread the word.

OK, onto the new and shiny…

State, Rack and Song Reset Support

Cantabile Performer now supports a new concept of “resetting” a song or rack.

In short, you can capture default values for any state controllable setting and then explicitly (or automatically) reset those values to their defaults.

The main use for this is to reset a shared rack back to a well-known default state when switching to a new song.

For full details, see this guide.

Gain Settings for Audio Ports

You can now adjust the gain settings for any audio input or output port. The settings are adjusted using a combined slider/level indicator in the monitor panel:

These settings are saved globally and can’t be controlled via states or any other song level settings. You can however create bindings to control them via MIDI:

Main Toolbar Level Meters and MIDI Activity Indicators

Cantabile has always had a master output gain slider on the main toolbar, but this has now been enhanced to include:

  • A Master Input Gain slider
  • Audio Input/Output Level Indicators, and…
  • MIDI Input/Output Activity Indicators
Note that the level meters and MIDI indicators will be hidden if Cantabile’s main window isn’t big enough for them to fit.

Since room is somewhat limited in the toolbar the levels and activity of all ports are combined into a single indicator for each port type. You can however choose to exclude certain ports with the “Include In Master Indicator” option.

(a similar option is available for MIDI ports)

Ability to Hide Ports from Monitor

You can now exclude unimportant ports from the Monitor panel. Just go to Options and in either the Audio Ports or MIDI Ports page double click on any port and you’ll see a new setting “Include in Monitor Panel” (as can be seen in the above screen shot)

Set List Scrolling Improvements

Previously when switching between songs the set list would automatically scroll to make sure the newly selected song was visible. The trouble with this is often you’ll want to also see the upcoming songs…

The set list now tries to keep the current song, the previous two songs and the next two songs all visible.

Real-time Transport Position in Status Panel

Sometimes real-time is more useful than musical time. Just right click on the indicator to choose your preference:

By-Index Source Bindings

Cantabile Performer now supports “by-index” source bindings.

For example you can now create a binding from the 5th plugin’s gain setting to an external MIDI device:

To be clear, By-Index bindings were previously supported only on the target side of the binding. This improvement lets you use them as a source and is particularly important for use in the background rack where you want to reflect a setting to an external control surface.

The Object-By-Index, Plugin-By-Index, Rack-By-Index and MediaPlayer-By-Index bindings all now work as source binding points.

String Bindings and Sys-Ex Binding Improvements

Bindings now support string (ie: non-numeric) bindings letting you create bindings on things like the song name, rack, current state name, the notes column etc…

String values can be bound to:

  • external script targets (eg: use the song name when invoking an external script)
  • sys-ex targets (eg: to send the name of a song to MIDI device for display).

Also, Sys-Ex bindings now support expressions which let you dynamically generate Sys-Ex data from a binding. See this guide for more details.

Wave/Wave-64 Recording Improvements

Previously Cantabile recorded audio in a way such that if the recording was short enough it would output a .wav file, or if too long it would automatically switch to Wave-64.

There’s now an option to control this.

  • Automatic is the old behaviour
  • Wave — always record in standard .wav file format. The recording will be truncated if it’s too long
  • Wave-64 — always record in .w64 format.

Also, the recorder has been updated to correctly set the file extension on the output file. Previous Wave-64 files were left with a .wav extension but now they’re automatically renamed to .w64

Default Solo Control Setting

This new option let you specify whether new objects should have the “Solo Control” option turned on or off by default:

For more about Solo Mode see this blog post.

Option to Disable Mouse Wheel in Knobs and Sliders

For a long time, Cantabile didn’t support mouse-wheel control of knobs and sliders. Then support for this was added, but often interferes with scrolling.

Now you can choose how it behaves and there’s a new mode (which is the default) where it only works if the Control key is pressed:

Space Bar Transport Control while Editing Plugins

The transport control short-cut keys (ie: Space, Ctrl+Space etc…) now work when you have a plugin editor open.

Although I’ve tested with a number of plugins to make sure it doesn’t interfere with typing into the plugin (eg: typing a preset name with a space in it) there could be plugins where this new behavior clashes. If you notice anything like this, please let me know.

Maintain Position in States Panel

The states panel now maintains its scroll position when switching between different racks.

Suppose for example you have a rack with many states and you’ve scrolled down to the bottom of the list. You then switch to another rack and back again, the list will now be positioned back where it was before.

A small tweak — but one that streamlines the workflow.

Ability to Move Master Transport Position from Slave

Previously you could only move the current position in a media file via the master transport. You can now do this via slave transports as well.

Seeking in slave transports now works!

This works well when you have a click track as the master and an media file as the slave — you can now keep the audio wave form on view and use it to navigate around.

Suppress Note Ranges Filter

The suppress events MIDI filter now supports suppressing (or allowing) a range of notes:

Tip: you can use either note numbers “62–78” or note names “C2-C4” and you can specify multiple disjoint ranges: “62–78,C6,C7-E7” too.

Bindings for Octave Up/Down

These new binding targets let you create bindings that adjust the global transpose setting by a whole octave up or down.

For example these two bindings would let you adjust the transpose up/down in octave steps using two buttons on your controller:

These bindings accumulate so if you pressed transpose up twice, you’d get a total transpose of two octaves.

Also, there are “snapped” versions of these bindings which transpose to the next whole octave.

eg: suppose the transpose was current set to +2 semitones — if you invoked Transpose Octave Up (Snapped) it would set the transpose to +1 octave (as opposed to +1 octave and 2 semitones).

Bindings for Route Transpose

You can now create bindings to the transpose setting of a MIDI route. Like all bindings to routes you first need to give the route a name (see here) but then the same set of transpose bindings as the global transpose are available.

Navigation bindings let you simulate a few common keystrokes from a MIDI control surface:

Binding the Up/Down/Left/Right/Enter and Escape keys to a directional pad on a MIDI control surface will let you navigate to most parts of a song or a rack without the need to reach for the mouse or touch screen.

(Of course you’d want to create those bindings in the background rack so they’re available across all songs)

Binding to Open/Close Rack Editors

In a similar vein to the navigation bindings, there are now bindings to open a rack’s editor and to close the rack editor and return to the current song view:

(Note that the Open Rack Editor binding is found on a specific rack, whereas the Close Rack Editor binding is found on the View binding target)

Auto-Repeat Bindings

Auto-Repeat Bindings let you create a binding that is repeatedly invoked until the button is released.

Since the binding system needs to know when the button is pressed and when it’s released this option is only available on switch type bindings so if you’re trying to bind a CC to auto-repeat make sure you select “Controller (Switch)” and make sure the button sends 127 when pressed and 0 when released.

Combining this with the navigation bindings above you might create a binding like the following which when held would continuously move the cursor up (just like holding the up key on your PC Keyboard).

You’ll notice there are two auto-repeat settings:

  • Auto Repeat (Fast) uses the same repeat rate timing as your PC keyboard (which you can adjust in Windows control panel).
  • Auto Repeat (Slow) is three times slower than the fast option and provides better control from a MIDI control surface.

Note (Switch) Binding

This new binding event type lets you treat note events as switch controllers:

(and of course this works with auto-repeat bindings)

Plugin Parameter Editor Improvements

The plugin parameter editor now displays parameter numbers and has an activity indicator to show when a parameter changes:

Notice the activity indicator on the Output parameter highlighting the parameter associated with the knob being used in the plugin’s GUI editor.

Also a new option “Track Parameter Changes” will automatically scroll the parameter list to show changing parameters.

Option to Save Previous Version of Overwritten Files

This new option causes a Cantabile to save a backup copy of song, rack and set list files before overwriting them:

The backup file will have the same filename as the original file with “.previous” appended to it.

Should you find a file corrupted, or if you accidentally overwrite the file with changes you don’t want to keep you can use Windows Explorer to recover the original file.

(Note that only one previous copy of each file is saved)

Command to Update All States

This new command lets you update all states with the current settings for a behavior.

For example, this would update the “Gain Level” and “Wet/Dry Mix” setting for all states with the currently selected values.

Set List Menu Clean Up

Previously commands for working with the set list were found in a couple of different menus. These commands have now all be consolidated into a single menu (File -> Set List) and the same menu is also available as the set list panel’s “hamburger” menu.

Most importantly, the commands to pre-load a set list, verify a set list or generate a printable set list have all been moved from the Tools menu to this new menu.

Support for Program Numbers in the Ticker Bar

The Ticker Bar now supports showing program numbers. Just right click on it and choose what you want:

Fixed Right Click Bind to Route

Right clicking on a route to create a binding now prompts to give the route a name before attempting to create the binding:

Improved Set List Filter Command

You can now filter the set list to load a song by pressing the F3 key (or which ever key you have configured) from anywhere in Cantabile’s main window. Previously you needed to move focus to the set list panel or the set list grid for this to work.

Now, when you press F3 and you’re not in the set list panel or grid, it will temporarily show the set list grid and let you filter it by typing a few letters for the song you’re after.

Available Now — Use with Caution (for the moment)

All this is available now in build 3258.

Obviously this is a big update and as mentioned I wouldn’t recommend using this on-stage just yet. By all means though give it a go during practice and let me know how it goes!