That would be quite meaningless, because that code is only there to juggle an otherwise perfectly good binary version number, in a way so that Cubase displays the correct version number when listing the plug-in. Reason is given further down in this post.
I found that Iām usually in agreement with the conservative opinions exposed by @chkn throughout the forum, so I strongly believe that the sole reason why he doesnāt agree with my proposal above is because (by his own admission) he didnāt take the time to read and understand it thoroughly, and at the present moment he has a wrong impression about it.
To right that wrong impression, let me summarize the cornerstone of my PR, which is:
the binary version number defined in JucePlugin_VersionCode
gets used everywhere āas isā, without being touched
My PR implements that, with only one, single, well defined and reasoned exception: the version number that is asked by Cubase for display only, gets manipulated so that Cubase displays the correct version number in its plug-in list.
Not even Cubase uses that version number for deciding whether to load plug-in state or not, and since that code only acts when Cubase is the DAW, there is no risk that the mangling affects other DAWs.
What if Steinberg decided to rename its executables? The only net effect is that you would see the wrong version number in its plug-in list which, I repeat, has nothing to do with plug-in state loading.
In contrast with the cornerstone of my PR explained above, the current JUCE code has the following risk: (see my first post in this topic).
If you have your plug-in version to 1.2.11, and then update it to version 1.3.1, your 1.3.1 version will fail to load the plug-in state saved with 1.2.11 in Cubase and Studio One.
This risk comes from a half-finished attempt of implementing what my PR really does: it is because JUCE applied a general solution (always manipulating the binary version number) for a very specific problem (Cubase does not show the correct version number in its list).
With my proposed implementation, this problem is resolved and the risk does not happen again.
What about plug-ins that were built with a version of JUCE where the problem was present?
In my last long post above, I demonstrated how merging my PR will not cause the binary version number of existing projects to decrease. Since its only the decrease which may cause a plug-in state not to be restored, by preventing a decrease in that value we avert the risk that a DAW refuses to load a plug-in state.