AudioProcessorGraph nodes channels issue



I've found an issue when connecting nodes that have more inputs than outputs in the AudioProcessorGraph.

Suppose the following scenario:

Node A (0 ins, 2 outs) -> Node B (2 ins, 1 out) -> Node C (1 in, 1 out)

Where "->" means that each output channel of the previous node is connected to each input channel of the next node.

What happens here is that in Node B I get silence in the second input channel.

I tracked down the problem to RenderingOpSequenceCalculator::createRenderingOpsForNode, specifically at line 447:

if (inputChan < numOuts
&& ...

The issue doesn't appear when I connect more than one node (i.e. if I connect more "Node A") to the same node, because in this case the code steps into line 466:

// channel with a mix of several inputs..

Now, I don't know exactly what the logic of this algorithm is supposed to be, but could you please take a look at this?

I don't know what the fastest way to replicate this could be, maybe you could rebuild the juce demo plugin with 2 ins and 1 out, drop it into the audio plugin host demo and connect its inputs and output to the I/O nodes.







Bug in AudioProcessorGraph