mac-au: Add an AUv3 host as filter #12862
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This adds an AUv3 host to obs-studio.
The host is loaded as a filter.
It is compatible with both v2 and v3 AudioUnits which provide audio filters on macOS.
Sidechain is supported.
Resizing of the AU GUI is also supported (that was tricky).
The AU host follows version 3 specifications, which add a bridge allowing to load AU version 2.
Some screenshots:

AUv2 from Apple
AUv3

Sidechain

Sidechain and GUI

Motivation and Context
AU filters are native to macOS. They're a very good alternative to VST on macOS.
macOS ships with a series of good AU filters.
I coded a VST3 host and decided to look at the competition (AU & CLAP).
It seemed easy to write an AU host so for fun, I did it. The architecture is the same as that of obs-vst3.
How Has This Been Tested?
Tested on macOS 26.1.
AU both v2 & v3 work fine, with or without GUI.
Tested the GUIs resize fine.
Types of changes
Checklist: