Aaxwrapper not working on mac

Has anyone gotten AAX wrapped again to work with PT?
This is my environment:
Mac 10.12.6
XCode 8.3.3
VST SDK 3.6.8
PT (developer build)
AAX SDK 2.3.0

Other than the obviously incorrect extension (vst3 instead of aaxplugin) I didn’t change anything.

PT reports that again_aax failed to load because it is not a valid 64 bit AAX plugin. I have checked again_aax exec with file and it is a 64-bit bundle (Mach-O 64-bit bundle x86_64)


Here is the output from one of the tests from the AAX Validator suite:

DSH_AAXVAL_Support_IDs FAILED: DSH command ‘loadpi’ returned error: Plug-in loading failed

All other tests fail with the same error.

Nobody from Steinberg has anything to say?

I can confirm that Pro Tools doesn’t load the AAX wrapped again plugin on Mac. None of the ACF* entry points are hit when attaching a debugger, although nm reveals that they are properly exported as extern “C”.

Can anyone at Steinberg please assist?

Found it…remove the “Exported Symbols File” in the again_aax target in XCode and Pro Tools will see the entry points. I was mistaken about the export of the ACF* symbols, I could see them in the symbol table of a debug build, but they weren’t exported. However, I’m now getting an assert trying to load the plugin.

EDIT: Pro Tools 12.8.2 seems to work fine, I currently don’t have any facility to test Pro Tools 11.x, though. The described assert happens in Pro Tools 10.3.7. It reads:
“Assertion in /CodeLocal/dev.ws.macbook.protools_cet/AlturaPorts/NewFileLibs/CoreFoundation/MacBuild/…/…/Sys/MacOS/Sys_FileLocMacOS.cpp”, line 154. Sounds like it’s buried in Avid’s code on the host’s end somewhere. I’ll do some more debugging to find out how deep PT manages to call into the plugin.

1 Like

Thanks Ray!
One more thing. It looks like that latency is not reported at all. I cannot find a SetSignalLatency call anywhere in the wrapper code.

Good find!

I’d suggest adding a

uint32 mLatency;

field to the AAX_Effect_Desc struct in aaxwrapper_description.h that, depending on your aaxentry implementation, can be auto-populated.

Then report that latency to Pro Tools by adding

properties->AddProperty (AAX_eProperty_LatencyContribution, desc->mLatency);

in line 1026 of aaxwrapper.cpp, right below

properties->AddProperty (AAX_eProperty_CanBypass, true);

SetSignalLatency() is intended for dynamic latency reporting, which may not be supported in earlier versions of PT afaik (10.x? 11.x?, can’t remember from the top of my head right now).

Thanks @ray3

removing the “Exported Symbols File” is still required with latest VST3 SDK. @yvan @Arne_Scheffler can this be fixed or added to the AAX notes?

1 Like