We use VSTPluginFormat::getDefaultLocationsToSearch()
to initialise our plugin search paths.
This calls this code to first get the Steinberg folders:
FileSearchPath paths;
paths.add (WindowsRegistry::getValue ("HKEY_LOCAL_MACHINE\\Software\\VST\\VSTPluginsPath"));
paths.addIfNotAlreadyThere (programFiles + "\\Steinberg\\VstPlugins");
paths.removeNonExistentPaths();
paths.addIfNotAlreadyThere (programFiles + "\\VstPlugins");
paths.removeRedundantPaths();
However, the line removeNonExistentPaths
removes that path if there are no plugin already installed.
This means that if a user installs our DAW, runs it, then installs a plugin in that “Steinberg/VstPlugins” dir, they won’t get automatically picked up.
I know this seems like a small point but you’d be surprised by the number of people this catches out. As this is a fairly standard directory would it be possible to simply not remove it if it’s empty? It won’t do any harm being scanned if it is empty.