Hi, I am trying to create an installer for the AudioUnit version of my plugin, and am running into a really strange issue where two different versions numbers for are recognized by both Ableton and Logic.
Originally I thought this had to do with some sort of AudioUnit cache on my computer, but I when I tried installing the AudioUnit on a friends computer, which had never had any prior version of the plugin installed, two different version numbers showed up in the Logic Plugin Manager and two copies of the plugin showed up in Ableton’s plugin navigator.
What could possibly be causing this? I have tried deleting audio unit caches, deleting build files for the project and rebuilding from the ProJucer , changing the project version number, and changing the plugin code, and this persists in happening. Current version of the plugin I’m trying to make work is 1.1.1, 1.0.0 is the other version getting recognized.
There are two places the version number can be reported in an AudioUnit, one is in the plist, the other is in the code - specifically a resources file. If you have a look in Xcode click on the AU target and have a look at the build phases, you should see that the AU target has an extra build phase over the other plugin format targets - Build Carbon Resources. Basically the carbon resources are an older way of doing things and the plist is the newer way of doing things, JUCE supports both.
If you’re managing your plugin from a Projucer project then the only thing I can suggest is making sure you do a clean before you build. Worst case scenario, delete the Xcode project then re-generate from the Projucer.
Okay finally got Logic to stop recognizing two versions, though I don’t know how. I was already deleting the contents of the Build folder and recreating them using cmd-shift-L in the Projucer. This time I deleted the Build folder itself, but I don’t think that should make any difference.
I also changed literally all the build information about the plugin including: Project Version (to 2.1.1), Bundle Identifier, Plugin Manufacturer Code, Plugin Code, and Plugin AU Export Prefix.
I don’t know if any of this could point to what was actually causing the problem, since that would be good to know in order to avoid this in the future.
Thanks for all your help in working through this issue.
I’m practically certain it does make a difference - the Projucer will only be regenerating the xcode project and some source files but any intermediates created by xcode will still be there. A clean in Xcode would likely have done enough though.
Are you sure? What I mean by that is deleting everything in the folder named Builds located in my project’s parent directory (as in myProject/Builds, deleting folder myProject/Builds/MacOSX), which includes Xcode project, plists etc… Versus deleting the deleting the Builds folder entirely. I was definitely regenerating all of the Xcode resources. I think this might have been somewhat unclear in my last post, my apologies.
I get the feeling it was fixed by changing the project version to 2.1.1, since that is a later version and therefore might take precedence over other version info. Do you think that might be the case?
Don’t forget about
There are intermediate files. The Product is normally moved out when the build finished, but you never know…
Cmd-Shift-K (aka Make clean) will get rid of stuff there as well…
I got used to hit that in certain intervals just like CMD-S…