I work on the JUCE plugin framework. Recently our users have requested the ability to identify VST3 plugins which are the ‘same’ on multiple platforms. This would allow project files saved on one platform to open successfully on a different platform.
Reading the VST3 docs, I couldn’t find a recommended technique for identifying a plugin consistently on multiple platforms. The
PClassInfo::cid seems like the most likely candidate, but if this is generated using the
DECLARE_CLASS_IID macro then the resulting cids will have a different byte order depending on whether
COM_COMPATIBLE is enabled. By default, this is enabled on Windows and disabled on other platforms, meaning that IIDs in plugins built for Windows will differ from IIDs on other platforms, even when building from identical sources.
What is the recommended way to identify plugin instances which are the ‘same’ across multiple platforms?