So I’ve started implementing AAX PageTables on our plug-ins.
In order to use it you must have a define and make sure you add the file to your Resources*.
(might be worth handling this nicer for Win/Mac & AAX but that’s another story…)
When I define:
JucePlugin_AAXPageTableFile=“PluginNameAAXPageTable.xml”
Xcode, this WON’T work! the quotes being used by Xcode itself.
VS2015, works as expected.
When I define:
JucePlugin_AAXPageTableFile=“PluginNameAAXPageTable.xml”
Xcode Yells since it actually breaks the xcode-xml file…
When I define:
JucePlugin_AAXPageTableFile=\“PluginNameAAXPageTable.xml\”
(I’ve edited this as discourse escaped me )
@t0m I didn’t find any documentation of JucePlugin_AAXPageTableFile
However looking at the code and testing shows the following:
The actual use of JucePlugin_AAXPageTableFile is to a const char* which is the filename to be used for mapping…
So… just as JUCE plug-in name #define is quoted this also must be quoted.
You also need to add it to .aaxplugin/Contents/Resources
(btw, with current JUCE separate plug-in builds this isn’t trivial. You add Resources in Projucer, but which show up on ALL targets. might be nice adding AAXPageTable to the projucer settings as a filename/path value)
The problem with writing to the AppConfig.h file is that that is not under source control for us, since it’s in the JuceLibraryCode folder that gets generated, and we don’t want all that stuff in source control when it can all be generated. Perhaps we need to add just that file?
That’s IMHO not the elegant solution. as @HowardAntares mentioned,
it’s a generated file… if it’s not resolved by current JUCE builds then it should be addressed. I’ll see on Sunday what’s going on, our releases still uses JUCE 4.3.x IIRC, but I’ll see if 5.x got this regressed as it seems to be working for us.
Please can you describe exactly what is not working for you?
I just tried adding JucePlugin_AAXPageTableFile="PluginNameAAXPageTable.xml" to the global Preprocessor Definitions field of a Projucer plugin project, and then building it on both Xcode and VS2019. In both cases, static_assert (false, JucePlugin_AAXPageTableFile) in the source code prints PluginNameAAXPageTable.xml as I would expect.
It looks to me like this is working as intended. The help text for the Preprocessor Definitions field says
to include a space or a comma in a definition, precede it with a backslash
Accordingly, specifying JucePlugin_AAXPageTableFile="Plugin\ Name\ AAXPageTable.xml" in the Projucer results in the definition of a quoted string that includes spaces.