im using a graph to host vst instances, basically after i created the vst instance i add it to the graph like this:
vstID1 = graph->addNode(instance1.get())->nodeID;
instance1 is a std::unique_ptr, vstID1 is a AudioProcessorGraph::NodeID so that i can call that node through the id later, in processBlock i process every single node like this:
graph->getNodeForId(vstID1)->getProcessor()->processBlock(buffer, midiMessages); graph->getNodeForId(vstID2)->getProcessor()->processBlock(buffer, midiMessages); graph->getNodeForId(vstID3)->getProcessor()->processBlock(buffer, midiMessages);
everything work fine and every node get processed well in chain, but if i load a vst with 2 buses, 1 input stereo and 1 sidechain stereo i hit this assertin juce_VST3Common.h:
jassert (channelEnd >= 0 && channelEnd <= buffer.getNumChannels());
channelEnd equal 4, i guess is the sum of all the channels, 2 input and 2 sidechain, but even in that case aren’t they processed separately? i mean is there a situation where a buffer could be 4 channels? bit confused, if i ignore the assert anyway everything seems working well, should i ignore it or still it means that something is going wrong?