AAX suspendProcessing() not working


#1

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?


#2

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
                {

#3

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

 


#4

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


#5

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.


#6

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