Projucer, Xcode Macros and Escaping


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:

  • Xcode, this WON’T work! the quotes being used by Xcode itself.
  • VS2015, works as expected.

When I define:

  • Xcode Yells since it actually breaks the xcode-xml file…

When I define:
(I’ve edited this as discourse escaped me :slight_smile: )

  • It works for Xcode! yay!
  • It’s broken for VS :frowning:

For now I need to DoRY instead of DRY.

Might be nice to fix this…


We’ll have a look at this.

Do you want the definition of JucePlugin_AAXPageTableFile to include the surrounding “”?


@t0m I didn’t find any documentation of JucePlugin_AAXPageTableFile

However looking at the code and testing shows the following:

  1. 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.
  2. 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)


I’ve pushed a fix for this to develop. The following should now work on OS X too:



Hi @t0m,
Well… close enough :wink: Xcode needs escaping so the export for Xcode should be:

In order to avoid multiple defines for each platform…


Does this escaping still work? I was trying to add a page table for a plugin and I ended up having to have a definition like:


…to get it to compile (but doesn’t work for runtime). My solution right now is to write the definition into the user section of AppConfig.h:

#define JucePlugin_AAXPageTableFile "PluginNameAAXPageTable.xml"