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.