Pro Tools multiple instance, multichannel plug-in issue

Hi all,

I am using an API function in a plug-in that requires a float ** of samples as a parameter. After the function does it’s thing I place the processed data into an AudioBuffer using the constructor with dataToReferTo

This works fine until I add a second instance of the plug-in in a daw (Pro Tools specifically), and share the input bus - resulting in weird clicks.

I have determined it’s probably the c-style 2D array made using pointers that is causing this.

Assuming that is the issue, can someone suggest a different way to to pass the data so that it is accepted in float ** format by the api function? Thanks!

AudioBuffer::getArrayOfWritePointers should work?

Thanks for pointing that out! So now I’m onto a different issue. Looks like that wasn’t it. I’m wondering if this is a JUCE multichannel issue.

Left and Right have no clicking noise, just the channels after

Are they audio dropouts? What is your HW buffer size set to? Does increasing it fix the clicks?

Increasing does not fix - I’m uncertain as to whether they are dropouts or not, very well may be.
I’m trying to replicate in a simple fashion, will update with simple code when I can. Maybe pro tools optimization causing the issue?

Another interesting thing to note - when I solo (inside the plug-in I’m working on) the same channels, regardless of channel it fixes it. So if I solo LSR on both instances, the issue is gone. However, soloing LSR on one instance and RSR on the other you can hear the strange glitchy effect.

What other DAWs have you tested it in?

VST in REAPER doesn’t have the issue

Hope this isn’t a faux pas - just updated the title to reflect the discovery as to the root of the problem since posting

have you properly initialized the DSP to take all the channels your plugin is receiving? Usually this means you have state doubled for one of your channels…

As far as I know, yes. The plug-in behaves as intended with no issues in it’s VST and VST3 format and multiple instances run just as well in AAX - the problem only occurs when using the same input bus into the multiple instances on AAX.

Just wanted to update for anyone interested - I’ll be tracking this down within the week, it seems to be related to some internal optimization in Pro Tools and takes its cue from the amount of latency.