getTypeForIdentifierString and moved plugins


In my plugin host on Windows, I have a slight problem with getTypeForIdentifierString.

I use this when loading plugins from the project file.

This works great on one system. However, if the user tries to move the project to another computer this will not always work as the IdentifierString also includes a hash-code of the file path.

I get that this is there to make absolutely sure that we can id the plugin. Then the plugin cannot be found if one system has its plugins in "C:\Program Files\VstPlugins" and the other has the exact same plugins installed to "C:\Program Files\Vst-Plugins"

From an end-user standpoint that seems very odd.

Is there a way around this? Or should I create my own "fallback" method in juce_KnownPluginList?

I am sure some else has had this issue?

I think it is correct for getTypeForIdentifierString to include the full plug-in path. There are just as many use-cases where customers have different versions of the same plug-ins organized in different sub-folders on their computer. As a developer I would expect getTypeForIdentifierString to return something truely unique in this case.

In Tracktion we have a sort of fall-back logic where if there's no exact match, we scan through looking for partial matches of just the UID or other bits of info.

Yup. Did that works like a charm!