AAX_CHostProcessor support


#1

Hi Guys,

I want to use AAX_CHostProcessor interface for AAX plugins. I know JUCE doesn’t support it. I wonder if someone uses it and guides me to add that to my project?

Basically, I need to use PreRender, PostRender and RenderAudio member functions in it for an Audio Suite plugin (offline).

Volkan


#2

AudioSuite should share the same processor code as realtime… have you tried just checking the AudioProcessor::isNonRealtime() state?

Rail


#3

The original poster is probably looking to do something AudioSuite specific like access all the samples to be processed before the actual processing happens. (Consider processings like normalization or reversing of the audio, which AudioSuite allows to do.)


#4

Hi,

Since we needed this in Sound Radix, we’ve added AAX AudioSuite (CHostProcessor) support to JUCE 4 & 5.

soundradix/juce5 is pretty much on par with 5.x develop branch.
soundradix/master is currently 4.3.1.

  • Remember! CHostProcessor behaves different than Native AAX running with AudioSuite property (for example: input number will be your maximum supported if in multi-input mode or mono).

  • It was tested on Pro Tools 10.3.10 (32-bit) and Pro Tools 2018 (64-bit).
    (it doesn’t support older Pro Tools < 10.3.5 as this is based on AAX API).

  • AudioProcessor::wrapperType got wrapperType_AudioSuite (to allow code branching for CHostProcessor version…).

  • AudioProcessor now has analyseBlock to allow analysis stage prior to processBlock.

  • AudioProcessorEditor has getCustomLabel to allow customized naming on AudioSuite UI.

  • We have random audio access encapsulated to juce::AudioFormatReader.

Here are the relevant commits -
https://github.com/soundradix/JUCE/commit/6cafbeac309b0e6a78597c097da5dc3778e7f28f#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/8bd984303651ea53570ce779eae3f915535cfe4e#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/33a3fc90e102792ec594f47eb6b9ee0fc541ce18#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/2f1d7489ab4e1bd54d6c2de8b3abecd8932ae0d2#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/3d3fead7fa3053be68a3ee9b4c5fcf25f2cef50c#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/1242c86f8528f33176aef981b7428bab64f771d0#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/0fc68b48f9160f56905d6993291e1b2800fbea4f#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/b60969190d04f0215dd0557239eb9aa21c68546b#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/dbfb4b4eca7cca064ab279abbb15b6d0eef336f9#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/1ff53d64f51bff970e33ad0338d00b0a99027118#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/712a360534c5f5ae09004ba4d3ddcf06505571d6#diff-2bad363478fb1112173228886b668256

https://github.com/soundradix/JUCE/commit/c372446d89391e50b55ca15d6fb81d8bad747a19#diff-2bad363478fb1112173228886b668256

Comments and bugfixes are welcome!

Cheers,

Tal


Audio Suite multichannel crash
AAX Analyze
#5

Note: If ROLI wants to merge it into their branch they’re always welcome :slight_smile: And everyone’s welcome to use our changes with no extra limitations on top of the JUCE license etc