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.)
@yairadix is there a way to know when the user selects a track with a different channel number (and layout)? Something like a callback or some sort of workaround that I could try to update the channel-configuration of my audiosuite plug-in before pressing render.
@ttg@yairadix Very grateful for your AudioSuite support! I think I am missing something though.
I have defined the preprocessor definitions JucePlugin_EnhancedAudioSuite and JucePlugin_EnhancedAudioSuite_RequiresAnalysis since I always want an offline analysis pass prior to the rendering pass. I have overridden the:
methods but, the plug-in seems to receive no callbacks to the above methods.
Am I missing something?
At which point are the above methods going to receive a callback?
as soon as I have my AudioSuite plug-in open and select a region from an audio clip?
do I have to create a button which will call the AudioProcessor::EnhancedAudioSuiteInterface->requestAnalysis()
do I have to define a preprocessor definition which will enable a native AAX Analyze button (like the Render one) and then be able to get a callback at the AudioProcessor::analyzeBlock() method?
OK, I just figured out that Ι have to define the JucePlugin_EnhancedAudioSuite_OptionalAnalysis preprocessor definitions to enable the Analyze button.
I used the JucePlugin_EnhancedAudioSuite_RequiresAnalysis which does not enable the Analyze button but triggers a callback to the analyzeBlock() method before the processBlock() method when the Render button is pressed.
Yeah. it’s worth noting that those flags (wrapping Avid’s flags) are quite tricky as they have dependencies . It’s worth reading/asking on Avid’s about those since CHostProcessor is behaving different than AAX in many ways.
The reason it is partial is due to cyclic/construction order.
I don’t remember the exact reason but the processor is created only once a render/analysis been made. so current ForceAnalysis / ForceRender would ‘link’ only after first time it was initiated by the host (Pro Tools) itself.
Feel free to send a PR if you have a better solution