SUBSonar has been tested on all versions of Sonar, from version 1 to 5. All user-reported problems have been investigated, and as far as I am aware there are no outstanding issues.

Please read the documentation thoroughly, because the vast majority of supposed problems reported by users have been resolved by instructions which are already in the documentation.

Please also note that Sonar5 users will absolutely need to disable Sonar's 'Scan for VST plugins on startup' option under Options>Global

Revised Document v1.1 for SUBSonar v1.5

What Does It Do?

If you use Sonar, you may have noticed that the way plugin Effects and Synths are organised into submenus can be somewhat arbitrary, and that they are most often sorted into groups of plugins made by the same developer . You may have wanted more control over these submenus, organising them by type, for example.

You may also know that you can reorganise these submenus using the Cakewalk Plugin Manager tool. However if you use the VST-DX adaptor and have tried this, you might have already noticed that changes you make in the Plugin Manager for your 'wrapped' VST plugins get lost sometimes, when resetting the adaptor, or rescanning for new plugins.

SUBSonar is a tool which attempts to make it easier to control and store the organisation of the submenus used for these wrapped plugins.

It does this by changing what is called the 'Friendly Name' for each plugin. Each plugin normally has two parts to its Friendly Name. In most cases this will be the name of the developer followed by the name of the plugin (with a space between them) Examples would be "PluginSoft GreatReverb" or "Really Great Software Chorus."

Normally, Sonar will try and put all plugins with the same start to their Friendly Name (ie up to the last space) into the same submenu. For the examples above, all the plugins by one company would be put into a submenu called "PluginSoft", and all the plugins by the other would be put into a submenu called "Really Great Software". Note : If there is no other plugin that would be in the same submenu, the plugin usually has a menu item of its own, instead of appearing in a submenu.

For the purposes of SUBSonar, we will start to refer to these two parts of the Friendly Name as the "Submenu Friendly-Name" and the "Plugin Friendly-Name".

SUBSonar reorganises Sonar's plugin menus by setting the Friendly Name, but it does not use the SubMenu part of the original Friendly Name for the new Friendly Name. Instead, by default, it uses the name of the folder containing the actual plugin .dll file. This means, for example, that you can put all the .dll files for your reverb plugins in one folder called 'Reverbs', and they will all appear in a submenu called 'Reverbs'.

However, because some installers put .dll files in their own folders, SUBSonar also lets you modify the Friendly Name without moving the plugin, by allowing you to customise a configuration file. And because the configuration file is unused by the VST-DX adaptor or Sonar, your menu organisation can be kept permanently, or even reused on a different system!

Installation

1) Download SUBSonar.zip

2) Unzip the contents of the SUBSonar.zip file into any folder you want. It doesnt matter where that folder is.

First-time Usage

1) To create a 'clean slate' run the Cakewalk VST-DX adaptor, and do a full reset.

2) Run your copy of Sonar. This must be done; Sonar creates the menu items, not the VST-DX adaptor. You can close it down straight away if you wish.

3) Run SUBSonar.exe - this creates a new default configuration file (SUBSonar.ssdat) in the same directory as the SUBSonar program.

4) Exit Sonar if it is still running, and restart it to check the new menu organisation.

Thats it. Of course you may want to make further changes, so you may want to read on.

Adding New Plugins

1) Run the VST-DX adaptor, and scan for new plugins

2) Run Sonar once to reset the menus properly.

3) Run SubSonar.exe to update the config file and the menu names.

4) Exit and restart Sonar

More Information On What Subsonar Does

When you run SUBSonar, it does the following:

For each plugin known to the VST-DX adaptor:

1) SUBSonar looks to see if it has information in its config file for that plugin. If it has, it sets the whole Friendly Name to that given in the config file.

2) If there is no config file information, SUBSonar creates a new Friendly Name. It does this from a SubMenu Friendly-Name it generates itself, and the original Plugin Friendly-Name created by Sonar. In the simplest situation, the SubMenu Friendly-Name is copied directly from the name of the actual folder containing that plugin(*). If the name of the folder contains spaces, though, they are first replaced by underscores in the SubMenu Friendly-Name.

(*) Note : There are two exceptions from this. Firstly, if the folder name containing the plugin starts with an underscore (eg _Ignore), the SubMenu Friendly-Name is left completely empty. This means the plugin will be in a menu item of its own, not in a submenu. Secondly, SUBSonar can be set so that the folder containing the folder is also used for the SubMenu Friendly-Name. See 'Folder Within Folders' below for an explanation of this.

Examples:

Original Folder Name   Resulting SubMenu Friendly-Name
Chorus   Chorus
_Chorus    
Big Reverbs   Big_Reverbs

Note that SubMenu Friendly-Name are case-sensitive when Sonar uses them to make submenus.

3) Sonar then creates the new Friendly Name, and adds the new plugin information to its configuration file.

Afterwards... and SubMenu Customisation

When SUBSonar runs it looks in its own directory for a text-format configuration file called SUBSonar.ssdat If the file does not exist, a new copy will be created from scratch, with one unique record per plugin. This information consists of seven lines of text followed by a line containing only a full stop. Hence the file will consist of multiple records, one after another, each similar to the format below:

PLUGIN=JCM900
PRIVATE
type=EFFECT
clsid={141AC902-4A43-4D39-4A43-4D3930300000}
path=P:\Plugins\VST\Effects\Amp Sim\JCM900.dll
PUBLIC
menuname=Amp_Sim JCM900

.

That is, the data for a given plugin starts from the word PLUGIN and ends with the full stop.

If you wish to customise your plugin organisation, you need to open the SUBSonar.ssdat file in a text editor (eg Wordpad) and change the records for the plugins.

At present, the only part of the record which it is safe for a user to change is the line starting 'menuname='. This line directly sets the Friendly Name of the plugin, and hence its location in Sonar's plugin menus.

If there are two or more space-separated strings after the '=' sign (eg 'Amp_Sim' and 'JCM900'), then the last string ('JCM900') becomes the Plugin Friendly-Name, and everything else becomes the SubMenu Friendly-Name ('Amp_Sim'). If there are no spaces here, the whole string is used as the Plugin Friendly-Name.

Note : If you change these entries, you must rerun SUBSonar before the changes take effect in Sonar.

Do not add any extra lines or change the format of this file. If in doubt, delete it and rerun SUBSonar to create a new copy.

Advanced : Folders Within Folders

Following a discussion at www.kvr-vst.com, it was suggested that Sonar should have sub-submenu organisation for easier organisation of plugins. I can't change Sonar's menuing system, but have implemented something which allows another level of organisation if it is needed. If a file called SUBSonar.3 exists when SUBSonar is creating a new configuration file, the SubMenu Name is created from the names of the folder containing the plugin and the folder above that, separated by two underscores.

This scheme is still in beta. It may yet cause problems. To restore the single-level foldername behaviour, delete the SUBSonar.3 file and the SUBSonar.ssdat file and rerun the program.

Example

Parent Folder Name Folder Containing Plugin   SubMenu Name
Useful Chorus   Useful__Chorus
Test Chorus   Test__Chorus
Reverbs Big   Reverbs__Big

Known Issues

SUBSonar v1.0 tries to read past the end of the config file. It doesnt do anything, it just tries to read it. Its a trivial error, and doesnt cause any problems. It'll be fixed Real Soon.

SUBSonar doesnt have all errors conditions properly trapped. It may still report non-critical errors in the command line display. These should not affect its behaviour.

SUBSonar has been tested on W2K, running VST-DX 4.4, and Sonar2 and Sonar3. It will probably not work with earlier versions of the VST-DX adaptor, so get the update! It should run fine on XP. It may not work on 98 or Me; reports on earlier versions have varied.

Bug Reporting

Please report problems and/or bugs to subsonar(at)whiterabbitdesign.co.uk.