Good question, IIUC I think it’s reported as the main Controller Class UID
class JuceVST3EditController final :
...
#if JUCE_VST3_CAN_REPLACE_VST2
inline static const FUID iid = getFUIDForVST2ID (true);
#else
inline static const FUID iid { TUID INLINE_UID (0xABCDEF01, 0x1234ABCD, JucePlugin_ManufacturerCode, JucePlugin_PluginCode) };
#endif
class JuceVST3Component final : public Vst::IComponent
...
tresult PLUGIN_API getControllerClassId (TUID classID) override
{
memcpy (classID, JuceVST3EditController::iid, sizeof (TUID));
return kResultTrue;
}
It’s also referenced when reporting class entries in getPClassInfo()
.
However, we also generate a moduleinfo.json
which in this case looks like so…
{
"Name": "name-with-hyphen",
"Version": "1.0.0",
"Factory Info": {
"Vendor": "yourcompany",
"URL": "www.yourcompany.com",
"E-Mail": "",
"Flags": {
"Unicode": true,
"Classes Discardable": false,
"Component Non Discardable": false,
},
},
"Classes": [
{
"CID": "565354616263646E616D652D77697468",
"Category": "Audio Module Class",
"Name": "name-with-hyphen",
"Vendor": "yourcompany",
"Version": "1.0.0",
"SDKVersion": "VST 3.7.8",
"Sub Categories": [
"Fx",
],
"Class Flags": 0,
"Cardinality": 2147483647,
"Snapshots": [
],
},
{
"CID": "565345616263646E616D652D77697468",
"Category": "Component Controller Class",
"Name": "name-with-hyphen",
"Vendor": "yourcompany",
"Version": "1.0.0",
"SDKVersion": "VST 3.7.8",
"Sub Categories": [
"Fx",
],
"Class Flags": 0,
"Cardinality": 2147483647,
"Snapshots": [
],
},
{
"CID": "ABCDEF01C0DEF00D4D616E7561626364",
"Category": "Plugin Compatibility Class",
"Name": "name-with-hyphen",
"Vendor": "yourcompany",
"Version": "1.0.0",
"SDKVersion": "VST 3.7.8",
"Class Flags": 0,
"Cardinality": 2147483647,
"Snapshots": [
],
},
],
}