In Xcode I want to add arm64 and arm64e to the Excluded Architectures as shown below.
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.
Hi @reuk
thanks for the reply.
I tried to disable arm64 and arm64e from the below list
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
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?
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.
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.
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.
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).
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