Building AAX - code signing?


#1

 

 

Hey guys - 

 

Just trying to figure out how AAX plugins work.  I successfully compiled an AAX plugin, but then trying to run it in pro-tools 11 I get:

"Plug-Ins failed to load because they are not valid 64 bitAAX plugins"

Great, cryptic errors.

 

 

Now, this is all new territory to me, but so far I've figured out that I need to place the compiled DLL in a bundle:

http://www.juce.com/forum/topic/aax-bundle-procedure-windows

 

And also that I need to either run the Bat utility file? or sign it with something called Pace Eden signature software?

That last one seems to be related to this company:

https://www.paceap.com/

 

 

 

Anyway - just seeking someone who has some experience here.  Clearly I am missing some critical step.

Finally - is there a validation or testing utility somewhere (something like auval for audiounits)?

 

 

 

 

 


#2

Yes, you need to sign it using PACE before it can run in a ProTools release version. There are developer builds available for testing though. You probably should have a look at http://developer.digidesign.com for more info on these topics.


#3

So you must sign it, even when you don't use iLok/Pace yourself?


#4

 

 

Got it, thanks for the info.  It took a while to get through all the steps (find the company, get Avid to verify I'm part of the dev program, etc).

Glad to be finally getting this done, though I'm surprised this isn't better documented here somewhere (not so many of us developing AAX I guess).

 

I noticed the developers builds yesterday after posting this, but haven't grabbed them yet.  


#5

Well I guess some of this stuff is semi-NDA'ed, so it's probably better to discuss the details in Avid's forum. And yes, AAX plugins need to be signed even when you don't use PACE for protection otherwise.


#6

 

I agree, I'm certainly not going to air any internal Avid secrets, but I think it fine to have a basic outline of the build process here, for anyone else who is considering building their plugins in AAX form.  It sure would have saved me some time : )

So ... what I've learned, for anyone else that may be interested in developing an AAX plugin is .... 

 

You need to:

1 - get approval to join the Avid developers program (developer.digidesign.com). 

2 - download the SDK from there, as well as a dev version of pro tools

3 - compile your juce plug (and on windows, put it in the appropriate folder structure, see link in original post)

4 - notice that at this point, your plugin won't load on Pro Tools .... because it is not digitally signed.

5 - send an email to iLok (who does all the piracy protection stuff for Avid), and tell them you need access to the code signing program.  They will need to verify that you are actually part of the avid dev program

6 - Go out and buy an iLok2 ($50 at guitar center, and yes, you will have to do this)

7 - sign up with iLok, get an account.  Run ProTool and give it your iLok creds.  Now you'll realize you don't yet have a license (gah!).

8 - Now you will need to do some things for iLok to get a license.  That is kinda internal to their company, so I won't post the process here.  Suffice it to say it is tedious and annoying, but doesn't take that long, and doesn't cost anything.

9 - Now you get a developers liscense from Avid, then some ilok liscenses from iLok, then you grab the tutorial on how to digitally sign the code.

10 - Acticate all the liscenses using their iLok manager software (I found this to be kinda hacky ... but it worked eventually)

11 - Then compile the plugin and run some commands using the PaceAP wraptool in terminal to sign the thing, and you're good to go.

 

That's it!  Not as simple as AU or VST, but not too bad ... just takes some time to get the dev liscenses / etc.

Also note, that on windows you need to create a directory structure to house the plugin file (see other AAX posts for that).

 

 

 

 

 

 

 


#7

gone


#8

For anyone reading this because their AAX plug-in isn't scanning correctly in PT - while the OP's advice will work, you don't actually need to sign your AAX bundle/dll.

If you're already on the Avid/Digidesign dev program you can download a "development build" of PT. This will run an unsigned AAX plug-in, as it does with unsigned RTAS plug-ins.

This is a vastly shorter iteration cycle than signing your plug-in each time, and will enable you to prototype something without registering a product with Pace (iLok.com).  

From the AAX SDK docs:

"The digital signature requirement applies to Beta and Release software. This requirement does not apply to Development builds of Pro Tools or to other developer tools which can load unsigned binaries."


#9

Thanks for this info.

I have an Avid developer account, downloaded the SDK and built the libraries. All good.

I downloaded a development build of Pro Tools but it says it needs to be activated and I don’t have any licenses in my iLok account. So I bought a Pro Tools license, downloaded the proper version and it runs. But I still can’t get the development build to run. Any clues?

Sorry to bother you, but damn, Avid sure makes it difficult.


#10

The development builds need a different license than the sold ones. Get in touch with avid, the guys who got you into the developer program can get you the proper contact person. It went fast in my case…
Other details better discuss in the closed avid forums, some things might fall under NDA that all persons in the development program signed…


#11

I e-mailed theresa dot melanson with the details of my iLok account and she deposited a dev build license on it within the day.


#12

Three years later… You know, I’m a registered developer on Avid, and not even their own site gives you the actual steps to build and release an AAX plugin. Maybe I’m just missing something. Do people really have to register for a course and take an exam? That’s silly IMHO.

Thanks for this info, it has already saved me hours of hassle by NOT finding information in my “Developer” area on avid .com


#13

Actually I got the most informative docs when applying for the Eden SDK from PACE but I agree there‘s a lot of trial and error along the process which could definitely avoided by a clear instruction list (this isn‘t rocket science and the steps are pretty much the same for everyone).


#14

The only way I ever figured it out was reading the Eden SDK documentation from PACE. You need that to sign your plug-ins. From there, it is a relatively straightforward (as long as you have the documentation) command line program to sign your plug-ins.

So if you don’t have PACE’s Eden Tools, that’s your first step.