AAX suspendProcessing() not working

Hi

I have some crashes with AAX plugins. We have to load bigger samples and the suspendProcessing(true) is a nice feature to suspend processing while loading big files. It seems that this is not implemented in AAX. I can't find any code in the wrapper about this. Is this by design or do i miss something? Is there a work around for this?

Inserting something like this seems to fix the issue, but i have no idea if this is save:

 


        void process (const float* const* inputs, float* const* outputs, const int bufferSize,
                      const bool bypass, AAX_IMIDINode* midiNodeIn, AAX_IMIDINode* midiNodesOut)
        {
            const int numIns  = pluginInstance->getNumInputChannels();
            const int numOuts = pluginInstance->getNumOutputChannels();
            
            // FIX: Check if plugin is suspended
            if (pluginInstance->isSuspended())
            {
                for (int i = 0; i < numOuts; ++i)
                    FloatVectorOperations::clear (outputs[i], bufferSize);
            }
            else
            {
                if (numOuts >= numIns)
                {
                    for (int i = 0; i < numIns; ++i)
                        memcpy (outputs[i], inputs[i], (size_t) bufferSize * sizeof (float));
                    process (outputs, numOuts, bufferSize, bypass, midiNodeIn, midiNodesOut);
                }
                else
                {

Yeah, seems missing! (Btw shouldn't the whole  suspend logic be inside the AudioProcessorClass)

 

Thanks, it does look like we just missed that one! Will sort it out..

Has this been resolved?

In my AAX there are some glitches during background reload during which processing is supposed to be suspended (and I call suspendProcessing after a smooth fadeOut of the sound).

I will look into it further and debug, but there is no sound during this reload on any of the other plugin exports.

I had no issues anymore but didn’t really re-verify this. I can imagine that the buffer size can make a difference.