AU Plugin Version in Logic Pro X

Hi

When I build my AU with juce CMake and validate them in logic pro I get an invalid version.

[ oh that AUVal screenshot is cutoff. In that picture the version of surge-xt it shows is “256.0.0” which matches the overflow from adding in the TWEAK]

My CMakeLists.txt has project version “1.0.0.0” in the project declaration and it looks like that’s getting passed down with one too many turns.

If I update my CMakeLists.txt to say “1.0.0” then the version comes through properly.

So it seems to me like if I have a PROJECT_VERSION_TWEAK set in CMake then I get an invalid version in my AU. I think (think) that in juce_utils where you do a propert_if_not_set of VERSION to PROJECT_VERSION and tweak is set, you get the full shooting match.

So I guess there’s 3 things I could do

  1. Turn my cmake version into 1.0.0 or whatever
  2. explicitly set the VERSION property on my targets or
  3. Drop a note here on the forum to see if you think this is a bug you could fix in Juce 6.1 cmake by reconstructing the version from major/minor/patch rather than the default :slight_smile:

Thanks as always!

It looks like the version number that Logic/auval complain about comes from the ‘version’ entry in the ‘AudioComponents’ array in the plugin’s plist. This only supports up to three components in the version entry. The ‘info’ text in the Projucer recommends that AU/AUv3 projects only use version numbers with 3 or fewer parts for this reason.

I think it would be reasonable to just throw away the ‘tweak’ part of the version number when writing this bit of the Plist. I’ll get this change reviewed, but hopefully this will be on develop in the next day or two.

Great

I think it may be in more than just the plist. When I edit the plist directly in one of my plugins, I still get a 256.0.0.0 from one of my older plugins which is built with 1.9.0.0. Could it also be getting into the ‘version’ function in the AU Layer in the C++?

That’s interesting, I didn’t see that when I was testing yesterday. Which Plist properties are you updating? I think I was seeing the desired behaviour when changing the “version” key in the “AudioComponents” part of the plist (i.e. not the CFBundleShortVersionString or CFBundleVersion keys). Are you definitely modifying the correct property? If so, can you provide any other relevant info so that I can try to reproduce the issue (e.g. platform (intel/arm), OS version, Logic version)

Ok! I’ll dig a bit more and write it up this week. Thanks!

(Everything works just fine if I drop the tweak though so I went ahead and did that with surge)

I think the proposed change is unlikely to break anything, so I’ve merged it here:

Please try this out, and let me know if it fails to completely resolve the issue for you.

I can confirm this fixes it perfectly! Thank you!