Michael,
Try using the lipo command-line tool on your plugin and see what you get. You can use the -info switch to get information on the architecture. (See man lipo for more information).
$ lipo -info EnergyAU Architectures in the fat file: EnergyAU are: i386 ppc7400 ppc64 x86_64
That seems to be correct.
Does your plugin work correctly if you build it for 32-bit? I would think that would be the first step. When starting AULab in 32bit mode my AudioUnit gets loaded and works correctly. It also passes every test in auval.
I couldn't find any AU Examples from Apple which are loaded in 64bit (except the preinstalled ones of course). I still suspect something missing in the resource definitions, i.g. in AUPublic/AUBase/AUResources.r of the AU C++ SDK.
It looks like this file takes only two architectures into consideration:
resource 'thng' (RES_ID, NAME) { COMP_TYPE, COMP_SUBTYPE, COMP_MANUF, 0, 0, 0, 0, // no 68K 'STR ', RES_ID, 'STR ', RES_ID + 1, 0, 0, /* icon */ VERSION, componentHasMultiplePlatforms | componentDoAutoVersion, 0, { cmpThreadSafeOnMac, Target_CodeResType, RES_ID, Target_PlatformType, #if TARGET_REZ_FAT_COMPONENTS cmpThreadSafeOnMac, Target_CodeResType, RES_ID, Target_SecondPlatformType, #endif } };
I guess there should be something added like Target_ThirdPlatformType and Target_FourthPlatformType.
Heinrich |