Reputation: 10156
I am trying to get Apple's example TremoloUnit to run in Logic 9. From various forums and this SO answer, the problem with Apple's examples seems to be that Logic 9 (and many other AU hosts) use old Carbon resources. According to this technical note, adding an appropriate .r
file should provide the needed backwards compatability, so I added a .r
that matches the sample .plist
.
If I include the line _TremoloUnitEntry
in my .exp
, the linker throws this error:
Undefined symbols for architecture i386:
"_TremoloUnitEntry", referenced from:
-exported_symbol[s_list] command line option
However, if I leave that line out (so that the entire .exp
consists of _TremoloUnitFactory
), Xcode compiles successfully. The resulting component:
auval -32 -v aufx TREM DEMO
validation result: successfully validated
updating properties of AU Tremolo (Effect AU) by Apple Sample Code... Failed!
How can I get the demo AU to run in Logic? Endless Googling and Apple's outdated docs have failed me. (It would really be great if the example projects weren't still broken out of the box...)
I wrote a simple gain demo from scratch, and... it works! Kind of. It runs in AU Lab and Logic but doesn't get detected by auval -a
. Is there an Xcode project setting that would cause this? I'm new to Xcode and am failing to find a reason why the Apple demo is broken in one way and mine broken in another.
Upvotes: 0
Views: 390
Reputation: 11
Make sure the only entry in your .exp file is _TremoloUnitFactory. You said you already removed _TremoloUnitEntry, so you should be good.
Next, in the Project Navigator, highlight "Info.plist". Select "View=>Utilities=>Show File Inspector" from the menu. In the File Inspector, under "Target Membership", uncheck "TremoloUnitEntry".
Recompile. That should do it.
Upvotes: 1