Mac OS 10.13.6
Logic Pro X 10.4.1
Our plug-ins use a 4 value version numbering system (eg. 22.214.171.124)
This format is supported within the Projucer - the 4th value is an option as specified in the info tooltip ‘major.minor.point[.point]’
When scanning the plugin with the AUVal command line tool, we find that the version number is given as hex (0x1000000), which is then interpreted by AUVal to be component version 256.0.0, as only a 3 value version system is used.
When the plug-in is scanned by Logic Pro X (Plug-in Manager) we have found that having any version number where a point of that version is larger than 8 bits will cause an ‘invalid’ result to be shown in the Plugin Manager ‘Version’ column. This means that when the component version is declared as 256.0.0, due to the 4 values being interpreted as a 3 value version number, an ‘invalid’ version number is declared for the plug-in inside Logic Pro X.
Our current work around for this issue is to indicate whether we want a 3 value hex representation or a 4 value hex representation by using a flag in the function call ‘getVersionAsHexInteger’, and then only shift the 4th version segment in if we need it.
It seems the only place we need a 3 value version is in ‘addExtraAudioUnitTargetSettings’ and ‘addExtraAudioUnitv3PlugInTargetSettings’, when creating the plist.
Ideally we are trying to make as few modifications to JUCE as possible to make it easier to keep in sync - is there any chance this change or similar support for 4 value version numbers could be included in a future version of JUCE?