How to add values for Excluded Architectures from Projucer?

Hi everyone,

In Xcode I want to add arm64 and arm64e to the Excluded Architectures as shown below.

image

What I need is that I want to add these config in the Projucer so I can commit and push it to my repo. Do you know how I can do that?
I know how to add the Signature values and also URL Type but I need to know where in projucer I should add values for Architectures → Excluded Architectures.

Thanks a lot everyone.

In the Xcode exporter settings, you can use the “Valid Architectures” checkboxes to enable and disable specific architectures.

Hi @reuk
thanks for the reply.
I tried to disable arm64 and arm64e from the below list
image
But it did not show the excluded architectures in Xcode.
Plus I only want this for AAX plugin not for AU or VST3. Any idea how to set Excluded Architecture for specific plugin format?
Thanks

1 Like

Thanks, I just checked this and it looks like this setting might not work in newer versions of Xcode. I’m working on a fix.

Thanks @reuk
Really appreciate it.
Any recommendation for now? Because we have VST3, AU and AAX at the moment and I only have to apply the arm64 and arm64e on Excluded Architectures of AAX plugin and I would really love to have an automated build pipeline for it and that means that the script will pull the code and continue. Is the only way to do it is to add the script to the package xml file after it is pulled from a repo? Any other way you can recommend?

I’ve merged a fix for setting enabled/disabled architectures here:

At the moment there isn’t a built-in way of setting the architectures per-target in plugin projects.

Unless/until Avid gives us native M1 (arm) support, we really need to be able to exclude AAX from building with it. The only way I can see to do that currently is to have two separate .jucer projects, one for AAX only (without arm support) and one for VST3+AU (with arm support), each of which generates its own Xcode project (in separate sub-folders). That’s especially true if using a build system like ours, which simply executes xcodebuild with the “all” configuration. With over 15 plugins to update, maintaining separate .jucer files for each becomes a real pain in the butt. :frowning:

2 Likes

Isn’t there a beta version of the AAX-SDK that at least builds with M1, even though there is no Pro Tools for M1 to test with?

Yes, the problem with that beta version of the SDK is that AVID discourages releasing products based on it AFAIK, so if you update the SDK to be able to build for M1, you also end up risking that the AAX builds for Intel are less safe for actual release.

1 Like

And furthermore if I did get the information from the last avid developer newsletter right, aren’t we supposed to ship two versions of AAX plugins in future anyway, one universal binary and one x86_64 only, since older existing Pro Tools versions won’t be able to load universal binary AAX? Correct me if I got that wrong…

With all this edge cases, I’m more than happy that we decided to go full CMake when JUCE 6 came out which gives the flexibility needed to do all this.

There was an update regarding AAX, UB and Pro Tools support for UB recently.
Just want to be sure @reuk and the JUCE team are aware.

@PluginPenguin About the compatibility split: that was also my impression indeed…

Linking to AVID’s AAX forum as it’s always unclear if this is under NDA or not (you’ll obviously need to be logged in there):

Announcement from Rob:
https://dev.avid.com/MP_DeveloperForumAnnouncement?AnnouncementId=aBe6e000000YQfbCAG

Follow-up by Rob to a question I posted earlier:
https://dev.avid.com/MP_DeveloperForumSupport?filterId=a9T310000004FCnEAM#!/feedtype=SINGLE_QUESTION_DETAIL&dc=Developer_Community_Q_A&criteria=ALLQUESTIONS&id=9066e000000gYbFAAU

1 Like

Just a quick follow-up here as well:

Yesterday I built an AAX plugin as a Universal Binary with AAX SDK 2.4.0 in XCode 12 (latest), wrapped with the latest Eden tools (5.4.1), and then tried it in Pro Tools 2021.7 on macOS 11.4 (Big Sur, Intel chip) and it actually passed there (just like it did in Pro Tools 2021.10) and appeared to work fine too.
I did not try in versions before 2021.7.
Just reported this on the AVID AAX forum too.

Not sure how to proceed now…
I’m a bit hesitant to now go and do some work to make that split Projucer project approach, while in reality the older Pro Tools versions perhaps do actually accept/run UB versions (as my test with 2021.7 appears to indicate).

By the way, and just for completeness: AAX 2.4.0 is now the latest official release (no longer beta).

2 Likes

Good finding!
Just to add a data point, I’ve previously tested SDK 2.4.0, building a Universal Binary AAX and it did NOT load in Pro Tools 2021.7 on a M1 machine.

So it seems there’s some kind of asymmetry here:

Universal Binary AAX in Pro Tools 2021.7 on Intel => ok
Universal Binary AAX in Pro Tools 2021.7 on Apple Silicon => not seen by Pro Tools

I haven’t had a chance to test the same UB on a Intel machine though

1 Like