We created our home made audio plugin host. And we have an issue with some effect plugins. For example “FabFilter Pro-C 2” or “FabFilter Pro-Q 3”. Our processBlock process the sound of each instrument plugins first, and then give the audioBuffer to each effect plugins.
The problem is, when we add some piano plugin, and a FabFilter effect plugin, we can’t hear the piano. And there is some ugly noises.
This problem doesn’t happen with the juce audio plugin host. So the problem is in our source code. We found a fix that works with vst3 plugins effects only : audioProcessor->disableNonMainBuses()
But it changes nothing with vst 2 or audio units.
We’re not really familiar with the bus concept. Any clues are welcome !
all instruments plugins process on an audioBuffer separate (called track). Then we sum all these tracks in audioBuffer like a master track. And this audioBuffer is given to the effect plugins.
What do you mean ? In our case, if our audioBuffer is not big enough, we add the missing channels. So each plugins could have different number of channels
I am not 100% sure, what information is passed on to the host, but in the processBlock, some plugins simply process all available channels, but some also evaluate the information, which is provided by processor.setBusesLayout().
The other thought, if you want your processor only to process a certain pair, you should create a referencing buffer, e.g. to process channels 5 and 6: