Plugins Not Recognised in 10.6

Hi, I have recently upgraded to Snow Leopard and have been having a few problems with audio plugins, they will not appear in the plugin list in AU Lab. When I try to load it as a VST in Max I get a “plug-in initialisation error” in the Max window. The AU is also not recognised by auval.

I am trying to build the demo plugin from the latest tip which compile fine. I have tried it compiling against both the 10.5 and 10.6 SDK, have made sure both the AU and VST flags are set to 1 and have tried with and without carbon support.

The juce library and my application projects all compile and run fine.

Has anyone else encountered this issue?

No such problems here. It must be some kind of config problem, though I can’t think what.

That’s what I thought as they compile ok. I first had this problem with some plugins I made with 10.5 so I used your stock demo project and the same thing. I’ll have a hunt around and report back.

Speculation… I’m not on 10.6…

Perhaps a 32/64 bit issue? Not sure if Juce plugins 64 bit now?

Double clicking AU Lab in the Finder on 10.5 opened it in 32 bit mode, launching it from Xcode or the command line was in 64 bit mode and wouldn’t recognise 32 bit plugins. One solution is here:

Perhaps 10.6 ALWAYS launches AULab in 64 bit now? In which case the method above to lipo out the 64 bit architectures (to make a 32 bit only AULab) might work. The fact that auval doesn’t see the plugins suggests things might be more complex. I assume the plugins don’t work in Logic either, then?

Not sure about the VST issue. Do other VSTs work in MaxMSP? Could be MaxMSP needs updating for 10.6?

I just looked at the Info.plist in the demo plugin project on the tip

[code]<?xml version="1.0" encoding="UTF-8"?>

CFBundleDevelopmentRegion English CFBundleExecutable EXECUTABLE_NAME CFBundleGetInfoString VERSION_STR CFBundleIconFile CFBundleIdentifier com.rawmaterialsoftware.PRODUCT_NAME CFBundleName PRODUCT_NAME CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType TDMw CFBundleShortVersionString 1.1 CFBundleSignature PTul CFBundleVersion VERSION_NUM CSResourcesFileMapped [/code]

Shouldn’t this be:

[code]<?xml version="1.0" encoding="UTF-8"?>

CFBundleDevelopmentRegion English CFBundleExecutable ${EXECUTABLE_NAME} CFBundleGetInfoString ${VERSION_STR} CFBundleIconFile CFBundleIdentifier com.rawmaterialsoftware.${PRODUCT_NAME} CFBundleName ${PRODUCT_NAME} CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType TDMw CFBundleShortVersionString 1.1 CFBundleSignature PTul CFBundleVersion ${VERSION_NUM} CSResourcesFileMapped [/code]

i.e. with ${…} around the various items…?

Ok, so I now have the plugins running, I had forgotten to update the plist files after copying the new project. This doesn’t explain why the demo plugin works for you and doesn’t for me though.

As Martin suggested is this an issue with the environment variables? I used to use these but they are no longer getting resolved properly. I have tried (PRODUCT_NAME), {PRODUCT_NAME}, $PRODUCT_NAME and just PRODUCT_NAME to no avail.

I removed the ${} things because it seemed to only resolve correctly without them…

But whether these fields are correct or not shouldn’t affect whether the plugin works.

It seems the removal of the ${} has the opposite effect here, they stay as literal strings in the bundle plist. I’m on 10.5 Xcode 3.1.3 - has this changed in 10.6/Xcode 3.2?

And having a valid plist in the component bundle does seem to affect whether AULab (at least) recognises the plugin.

I messed with the demo plugin plist a bit and it seemed everything had to be just right.

Yes, I’m on 3.2.

I just checked this, and 3.2 seems to work correctly with or without the ${} - I guess that must be a new feature. No idea why it was failing for me before with the $, but I’ve checked in a version with the ${} back in now.

This is strange as I’m on 10.6.1/3.2 and I definitely do need the {} in. I downloaded the tip (without the {}), nothing, added them back and it works fine. Maybe there is some obscure setting somewhere that allows you not to use the braces?

Strange… Oh well, I think keeping the ${} in there is the way to go.

@dave96: we noticed that a reboot may be necessary with Snow Leopard in order to update the plugins list
Installing products known to work on Leopard exhibits this problem.


Yeh, I did try that a couple of times. It wasn’t plugins known to work in Leopard that was the problem, they work fine and are recognised immediately. It was the CFBundleExecutable key that was not being set correctly due to the missing braces not resolving the EXECUTABLE_NAME environment variable.

All is working perfectly now with the braces added.

@ Jules: Just out of interest is there any particular reason why a localised copy of some of the plist entries are included? Does this need to be bundled even if it is empty for correct recognition? Obviously this may be useful for some people but I thought it would be a bit too specialised for the demo project.

Probably just some spam that the project wizard created - it’s certainly not needed, and I should probably tidy it up.