Well it’s been a long time coming, but v3 can finally upgrade v2 sessions and set lists - mostly.
As I’ve hinted before it’s not perfect because of some fundamental differences between the two versions - in particular mapping from v2’s master bus system to v3’s routes isn’t a very smooth transition.
At the very least it will bring across all your plugin, subsessions -> states, song names from set lists, most triggers, midi assignments, filters, media players. It’s just once they’re moved across you might need to “fix things up” to get them working.
I still need to write up a proper guide, but in the meantime, here are some hints:
Upgrade existing files by using File -> Open or File -> Open Set List and choosing a v2 file.
You’ll be presented with a dialog with some options for the upgrade - mostly where the new file(s) should be placed.
The old v2 files will be unaffected by the upgrade and left in-place (you should keep these in case I improve the upgrade process)
The upgrade will try to map old MIDI device names to a port with an equivalent device mapped. If it can’t it’ll just create a route with a missing device and you can fix it up by either choosing an existing port, or by setting an alias name on a port and everytime that device name is found it’ll be replaced with the port name.
All ports on plugins and media players will be created using the same format as the old session’s master bus format and assignments to the plugin will match the assignments as configured in v2.
Similarly racks will be converted to embedded racks with 4 ports - audio in, audio out, midi in and midi out. The audio ports again have the same format as the master bus from the original file.
States are upgraded, but the song and the contained racks each end up with an independent set of states all with the same name. eg: suppose your v2 session had Rack 1, Rack 2 and States A and B. In the upgraded song, the song will have states A and B, each rack will have their own state A and state B and the song will be configured to select the correct state on each rack for each state. That’s a little messy but I’m hoping it’ll encourage better use of rack states than what’s currently possible in v2.
There are quite a few other little quirks and things that don’t quite map exactly - if you notice anything that could work better, or important things that simply fail - post here and I’ll address them if I can.
Just tried upgrading my V2 session and after the “Upgrade session file” dialog I got “Object reference not set to an instance of an object”, and then I was just left in Cantabile with what was there before, and nothing new saved.
The V2 session I use is a “big monster session” with no songs in the setlist, just lots of sub-sessions, one per song. Although I haven’t been able to do the upgrade yet (see above) it looks like it will generate a single song with many states.
I wonder if other people are using Cantabile 2 the same as me, and would benefit from an upgrade option to convert V2 sub-sessions into V3 songs, each with a single state? Or alternatively a V3 right-click option on a state (or states) to “Convert to new song”.
I’ve reproduced the issue with your upgrade and know what’s going on (it’s related to the unplaced audio channels in the master bus) and should have a fix soonish.
In the meantime just wanted to answer this:
One thing that might help convert over is to create a set list in v2, add all your states (Set List → Insert → All Subsessions from Current Session), rename each with a song name. Now upgrade the set list in v3. This will create a song file for each set list entry and each song will link the converted session file and have the correct state selected in each.
I’ll have a think about your other suggestions too.
Excellent, thanks Brad. Super-fast analysis of the upgrade issue, and very helpful suggestion for migrating my session - sounds like it’ll do the trick!
Build 3107 definitely fixes the error message, and allows me to migrate to v3 songs using the method you described, although there’s a lot of clean-up required, particularly with many v2 MIDI Routing Table entries. It would be nice to have a way to migrating them all nicely into v3 input port routings with source port/channel/program driven by rack states, as an optional alternative to just mapping directly with the enabled state (if that makes sense?). Also I see that some of the v2 MIDI Routing Table names are ported into the Notes field, but I also have quite a lot of routings with no preset/destination and an empty notes field - is this expected?
In migrating my v2 session to v3 I’ve noticed something unusual. Plugins in the main “session rack” in v3 only have “Audio Out” routes which appear not to work - I get no audio out. However if I add exactly the same plugin manually, they have a “Stereo Out” route, which does work.
Perhaps it’s related to the way in v2 I have 4 stereo buses that I route plugin outputs onto, which ultimately route out to my audio device’s 4 stereo outs.
With the excessive MIDI routes - I considered coalescing these into a smaller number of routes, but thought it might be confused. I guess as an option it might be ok. A bit tricky to work how to coalesc them but something should be possible - I’ll think about it.
With “Audio Out” ports, this is because in v2 there was no concept of port - just the master bus. So the master bus gets converted to a single “Audio Out” and “Audio In” port on each plugin. In other words when inserting a plugin into v3 it creates ports based on the plugins meta data + guessing. When upgrading from v2 the ports always match the original master bus.
The mappings between these ports and the plugin should match the audio channel assignments from v2 (bugs not withstanding). Given what you’ve described I’d be suspicious of a problem with the assignments between the port and the plugin - try editing the plugin’s ports and see if you can spot something obviously wrong.
Just a note to say I’ve put in some code to coalesc entries from the MIDI routing table. Basically if it notices two or more routes with the same source, no midi filters and not enabled in the same sub-session it’ll merge them into one route with different settings for each state.
Also, fixed a couple of other bugs in this area too - will be in tomorrow’s build.
Fantastic - I’ll give that a test when the new build is up. I have a lot of such MIDI routing table entries in my v2 session, so it’ll be interesting to see how it works out! Will report back.
Asking a new question in an old thread - seems the right place to ask, as it’s about upgrading sessions.
When I upgrade a v2 session to v3, instrument plugins default in v3 with a wet:dry mix of 50%, where I believe there was no equivalent in v2. Since according to the v3 guides means the plugin output will be a 50/50 mix of the plugin’s normal output and whatever audio input it receives, if I have no input (as is normal for most of my instrument plugins), I’m effectively halving the output level. Since I’m trying to reproduce the v2 levels as closely as possible, should I be using this halved level, or should I turn that control to be 100% wet, to use the full plugin output?
That’s a bug caused by the slightly different wet/dry controls between v2 and v3. I’ve made a couple of fixes:
For plugins that have no input channels, the wet/dry setting is now taken directly from the v2 plugins’ wet mix setting
Fix plugins with input channesl, the wet dry mix is taken from the ratio of wet to dry mix and the gain is set to the sum of the wet/dry. This gives the same final output levels.
To answer your question, yes you normally would have 100% for instruments - not the incorrectly upgraded 50% value.