Logic 9 ignores the *.component


#1

Dear Jucers!

I’m using XCode 7.3.1 and right now I’m trying to compile a component and open it as a plug in in Logic 9. I tried building it as 32-Bit audio unit, 64-Bit audio unit and with the native architecture setting that you can specify in the build settings in XCode, which in my case is 64 bit (OSX 10.11.5 El Capitan). Nothing worked. Does anyone have a clue what I’m doing wrong.

Cheese, Luke


AU broken (Validation on 10.7)
AU problems: didn't find the component
#2

Logic 9 sometimes only detects new plugins when running in 32-bit mode, so you might want to try relaunching it once in 32-bit.

If no joy, worth checking the output of auval -a in Terminal to check that your plugin is visible to the OS and checking it for validation using auval -v Type PluginId ManuId


#3

For Logic 9 you have to include the resources in the Build Phases… in Build Carbon Resources make sure to include juce_AU_Resources.r

Rail


#4

The strange thing is. My component is ignored in 32 Bit mode. But once I start it in 64 Bit mode, Logic finds it, but the validation fails. No matter which architecture I compile it in, it always fails to validate and tells me “wrong architecture”.
“auval -v” gives me:
`
AU Validation Tool
Version: 1.6.1a1
Copyright 2003-2013, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options


VALIDATING AUDIO UNIT: ‘aufx’ - ‘Nmmw’ - ‘Manu’

Manufacturer String: belliniaudio
AudioUnit Name: Test
ERROR: Error from retrieving Component Version: -192

    • FAIL

TESTING OPEN TIMES:
COLD:
2016-08-19 18:42:34.565 auvaltool[819:19962] Error loading /Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test: dlopen(/Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test: mach-o, but wrong architecture
FATAL ERROR: OpenAComponent: result: -50,0xFFFFFFCE`

Any help is much appreciated - I really depend on this to work.


#5

Can you elaborate? I have no idea what I’m supposed to do, because everything under “Add Build Phase” is blanked out.


#6

Well, first – Does AU Lab load your plug-in okay?

Rail


#7

Nope. It fails to open.
Here’s the output:
Mister-Bellini:Components misterbellini$ auval -v aufx Nmmw Manu

AU Validation Tool
Version: 1.6.1a1 
Copyright 2003-2013, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options

VALIDATING AUDIO UNIT: ‘aufx’ - ‘Nmmw’ - ‘Manu’

Manufacturer String: belliniaudio
AudioUnit Name: Test
ERROR: Error from retrieving Component Version: -192

    • FAIL

TESTING OPEN TIMES:
COLD:
2016-08-19 18:42:34.565 auvaltool[819:19962] Error loading /Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test: dlopen(/Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/Components/Test.component/Contents/MacOS/Test: mach-o, but wrong architecture
FATAL ERROR: OpenAComponent: result: -50,0xFFFFFFCE
Mister-Bellini:Components misterbellini$


#8

Well it looks like auval is failing when it tries to retrieve the component version. Is “Project Version” set correctly in the Projucer? For the JUCE demo plug-in this is set as “1.0.0”.


#9

Make sure that you do a clean build after you change the project version (e.g., delete your Projucer Builds directory and resave) — otherwise Xcode doesn’t appear to update it in all of the relevant places.


#10

Well it seams I copying the exact settings from the demo plug-in did the trick so far. I don’t know what problem it was exactly, but now it works and I’m sick of revisiting this topic. Took me 5 freakin’ days to be able to compile. Thank you guys for your effort.

Cheers


#11

Guys? Does nobody else have problems with Logic 9 accepting their audio unit? I made 6 audio plug-ins so far. All of them have basically the same properties, except names, plugin-codes et cetera. I only managed to get 4 of them working at the same time and it’s a real pain in the butt starting logic 100 times until it recognizes one (sacrificing another). It got better when I moved them to ~/Library/Audio/Plugins/Components instead of /Library/Audio/Plugins/Components where all my other third-party plugins are and validate perfectly fine. I tried all different kinds of things, changing the plugin code, changing the name of the bundle identifier et cetera. Nothing works - Logic 9 just accepts some plugins sometimes and sometimes not - there is no pattern I can see here. Of course if I change everything, e.g. Plugin Manufacturer Code and the Company Name, Logic recognizes it.
I think I have already mentioned that the JUCE debug demo application as well as AULAB accept my plugins just fine. Only “/(&§=)”$/&(/&%") Logic 9 does not.
In some forums users say that “start in 32-bit mode” did the trick for them - not for me, because I always use Logic 9 in 32 bit mode. I really ran out of ideas…


#12

What’s your deployment target? is it latest SDK / default instead of something lower?


#13

Yes. I have set all of them to default / current OS (10.11)


#14

If you have updated to Xcode 8 then this might be 10.12 now while your OS is 10.11? (Xcode uses latest SDK).
Did you try setting the Deployment Target to something lower. anything above 10.7 should usually be fine.
(and… Debug and Release are 2 different configurations should double check you’ve set it also for Debug)


#15

I have not updated yet, but I will when I’m finished with this project. When I lower the deployment target, it does not find the SDKs, because I have not downloaded them. Anyway. Right now, Logic accepted all my plug-ins. After reopening it like 100 times and putting them in both components directories: /Library/Audio/Plug-Ins/Components and ~/Library/Audio/Plug-Ins/Components
Thank you anyway!