Today’s build (3196) adds the ability to move Cantabile’s settings folder.
This issue has come up a couple of times over the past months and is a useful capability for when you want to share or synchronize your settings across multiple machines using some sort of file synchronisation like Dropbox. It can also be used to move the settings folder to a more convenient location for access and/or backup.
About the Settings Folder
By default Cantabile saves all global settings in a file called “settings.json” in the following folder location
C:\Users\<yourname>\AppData\Local\Topten Software\Cantabile 3.0
or
C:\Users\<yourname>\AppData\Local\Topten Software\Cantabile 3.0 (x64)
If you’re running a custom configuration name (see here) then the configuration name is also appended to the end of the setting folder name.
eg:
C:\Users\<yourname>\AppData\Local\Topten Software\Cantabile 3.0 (x64) (myCustomConfig)
The settings folder also stores other information like the plugin database, log files and crash dumps.
Moving the Settings Folder
The problem with the default settings folder location is that it’s difficult to automatically synchronize or backup because of it’s location. Starting with build 3196 there’s a new config file called “config.json” that Cantabile looks for in the same folder as Cantabile.exe and has one setting:
{
"settingsFolder": "%USERPROFILE%\\Documents\\Cantabile\\Settings"
}
The location specified here is the base settings folder location and will be appended with “Cantabile 3.0 (x64)” and the config name as per normal.
Note that this setting applies to all user accounts which is why in the above example I’ve included the %USERPROFILE% environment variable so that each user’s settings are kept separate.
Once you’ve changed this setting don’t forget to move all the files from the old location so you don’t need to reconfigure everything.
Finally, remember that the settings folder stores settings relevant to your hardware configuration. If you’re using this synchronize settings across machines you’ll need to be running the same hardware on each machine (or you’ll need to use different configuration names on each machine).