[Resolved - my mistake] Hiding AAX parameters from ProTools control surfaces?


All of my parameters are getting mapped to control surfaces in ProTools, even though the plug-in contains an xml file that defines just those parameters we want to be controllable via control surfaces. It contains both a table with17 individual 1-control-per-page formats, and a table with 1 17-controls-per-page format. But it always maps all 20 parameters to the control surfaces. How do I make my JUCE project only map a limited set of my parameters to the controls surfaces? (These are non-automatable parameters, by the way, that are getting incorrectly mapped, which I had assumed would automatically prevent them from being mapped.)


Nobody? Surely some of you have non-automatable parameters in AAX that you don’t want showing up on control surfaces? How did you resolve this?


Specifics of PageTable stuff might be under Avid’s NDA since it’s part of the AAX SDK, not entirely sure…

Again, not sure I can go into specific details on their SDK, but there isn’t a type that has 17 controls per page (unless you mean you used a larger table but only 17 slots are filled in). It sounds like you defined the parameter list correctly but don’t have the correct table definition(s) for the control surface, which means Pro Tools will fall back to showing all of the plugin parameters on the control surface. IIRC, the XML validation is pretty strict and if the file fails they just won’t use any part of it.

I would go through the examples and documentation provided in the AAX SDK and make sure you’re not missing anything in how you set up the file. If you’re using Avid’s editor maybe try creating a new XML from scratch.

Just note that non-automatable parameters defined in the XML may still show up on the control surface, we’ve experienced this ourselves. Only parameters you don’t add to the control surface tables (the ones with multiple controls per page) in the XML are hidden from the device.


It’s a modification of a page table file we’ve had in the field for years (without JUCE), so I figured JUCE must be getting in the way somehow. I tried loading in their page table editor and saving, and aside from warnings that it was missing a number of page tables (for the different control surfaces), it saved fine, but the resulting plug-in behaves the same. Hmm, guess I could ask on Avid’s forum.


Hmm, that is strange then. The only other thing I can think of then is that maybe you’re getting bitten by this:


Hmm, maybe related. If I follow that thread, and add the definition to AppConfig.h, then NONE of my parameters are showing up , in either the control surfaces OR in automation! So I guess that, even though the xml was being written to Contents/Resources, it wasn’t seen previously. Now that it tries to see it, it fails, miserably, but I have no idea why. The filename has no spaces or special characters. It doesn’t have to match the plug-in name, as I’ve verified by checking against our plug-ins in the field, so I’m confused. Why does it fail when I add this to the AppConfig.h user section (name changed, obviously):

#define JucePlugin_AAXPageTableFile “MyPageTableFile.xml”


Perhaps the plugID in the XML’s layout description(s) isn’t matching up? When using the editor to generate XML for a JUCE plugin the ID is the result of:

For example our multichannel plugin gets layouts for mono, stereo, etc. that have IDs jcbb, jccc, jcdd, etc.


That’s it. I had the wrong ID for the plugin. A simple case of mismatched case of one letter! Now the page table is actually being used which it was not before. Thanks!