Hi there,
According to my findings, PluginDescription::createIdentifierString
creates a string that isn’t always unique when applied to a VST: it rather depends on the plug-in location. For example:
OS: Debian Stable with GCC 6.3.0
Juce: 5.1.1
/home/me/audio/vst/mdaAmbience.so -> VST-mdaAmbience-18fae2d2-6d646141
/home/me/audio/vst-test/mdaAmbience.so -> VST-mdaAmbience-b328b2f6-6d646141
I’ve found a comment in the code (juce_pluginDescription.h) that confirms it:
/** Either the file containing the plug-in module, or some other unique way
of identifying it.
E.g. for an AU, this would be an ID string that the component manager
could use to retrieve the plug-in. For a VST, it's the file path.
*/
String fileOrIdentifier;
Wouldn’t this implementation break the “portability” of a VST plug-in or, in other words, the ability to store a plug-in ID for use across different machines?