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.