NoiseGate tutorial - compiling error?

I just started on this, and searched the forum before asking this question.

I am following the online tutorials and the following error has come up when opening and “building” the NoiseGate plug in:

In the “Dhm_Basics.h” file, on lines 83 thru 126 there are a bunch of C++ errors:
77 // Routines:
78 //------------------------------------------------------------------------------
79 #ifdef __cplusplus
80 extern “C” {
81 #endif
83 Dhm_Result Dsi_INTERFACE;
84 InitSADriver( // Initialize DSI
85 void);

I am getting a total of 5 “C++ requires a type specifier for all declarations”, 8 “Redefinition of ‘Dsi_INTERFACE’”, and one “Variable has incomplete type ‘void’”

Is this only an error on my end? I have just opened ProJucer, opened the tutorial, saved it and opened in my IDE which is XCode, and “Build” the project, as the tutorial indicates.

The previous turotial, the MIDI Arpeggiator worked fine. Except that trying to open it with the “AudioPlugInHost” App, it cannot open the plug ins, they are greyed out.


So, it looks like I had a difference between the settings for the two tutorials:
On the Arpeggiator I did not have the Avid “RTAS” and the “AAX” plug in formats selected.
On the NoiseGate I did change this, because I want to develop for Pro Tools.

Sure enough, when I turn off those two plug in formats in ProJucer, the error goes away.

So, how can I implement the RTAS and AAX plug in formats to ProJucer? I already downloaded the latest SDKs for both RTAS and AAX from Avid, and pointed ProJucer’s setting so it sees the SDKs.

I appreciate any help. Thanks!!!

While the VST SDK comes as sources only to be added to the project by projucer, the AAX is a library you have to compile before and link your project to (happens then automatically when you selected the plugin format).
I haven’t seen that particular error though, so there might be a version mismatch maybe?

As for RTAS, I don’t think it makes sense when starting a new project to aim for RTAS, it is really legacy now 6 years after the last RTAS hosts were sold (roughly).

Thanks Daniel,
So, how do I compile the AAX library and then link it? There is almost no documentation with this SDK…

As to the RTAS, well, if you knew how many engineers are still on Pro Tools 10, it would scare you. LOL. Too many.

There is a folder with documentation and AVID have their own forum with very helpful people there.
I have to remind you, that with getting the SDK you signed a non-disclosure-agreement (like everybody who has the SDK), so we cannot go into detail on a public forum. I will only state the obvious. There is a XCode project in the SDK, that you simply load in your XCode and click compile (ideally for Debug AND for Release).

There are two versions, one to work with libc++ one for libstdc++

I perfectly know that, but to support RTAS they are adding to your development cost, and maybe I am wrong, but people, that don’t want to invest in their gear, are not the ones you want to focus on… If you can make them happy for free, sure, go ahead… it’s your choice. I would do first things first, and if you can later just switch on RTAS, cool, if not, I wouldn’t bother, until you have a lot of people begging you they want to buy it for RTAS…

Well I learned to compile this… at least “sort of”. Now I am opening their suggested “DemoGain” plug in to compile that.
It asks for a library that was NOT compiled by the AAX Library… “libAAXLibrary_libcpp.a”… instead all it compiled was “libAAXLibrary.a”

So, still somewhat stuck. LOL. Their documentation gets an F.

You are right as far as RTAS. I’ll implement it if they beg.

They are both in the same project, next to the build button there you can select AAXLibrary_libcpp instead of AAXLibrary.

I did a “clean” and build again. And now it built both libraries. Jeez, you’d think it would do it the first time… Well, I thank you. Now to try to keep going through tutorials.

Hi all, well, I am back to coding after a long and forced hiatus. Now that I updated XCode to 10.1, and my laptop to 10.13.6, it now no longer compiles the AAX SDK AT ALL. I am trying to compile their latest version, 2.3.1.

I also posted this question in their Avid developer forum.

First, I did the automatic recommended “update” to the code:
Changes: 9 in total, too long to write here.

I first got one error message, about XCode not allowing 32-bit architecture any longer. So, I went into the AAXLibrary_common.xcconfig and deleted the number 32 on line 8:


So it read thus:

Now I get 4 identical “Semantic Issue” errors in the AAX.h header file:
*The current #pragma pack aligment value is modified in the included file

They occur in the following lines:
464 #ifndef _TMS320C6X
#include AAX_ALIGN_FILE_HOST *The current #pragma pack aligment value is modified in the included file

532 #ifndef _TMS320C6X
#include AAX_ALIGN_FILE_RESET *The current #pragma pack aligment value is modified in the included file

585 #if ( defined(_WIN64) || defined(LP64) || defined(_TMS320C6X) )
#include AAX_ALIGN_FILE_ALG *The current #pragma pack aligment value is modified in the included file

632 #if ( defined(_WIN64) || defined(LP64) || defined(_TMS320C6X) )
#include AAX_ALIGN_FILE_RESET *The current #pragma pack aligment value is modified in the included file