VCVRack / Befaco

Befaco Eurorack modules for VCV Rack
https://library.vcvrack.com/Befaco
Other
146 stars 27 forks source link

Befaco A*B+C #21

Closed Litiec closed 3 years ago

Litiec commented 3 years ago

Hello, First of all thank you for the last update! I think that there might be a misbehaving in this module. When you brake the normalisation the second out doesn't work. You can see the led displaying the voltage but it doesn't t output anything. Thank in advance

Screenshot 2021-07-10 at 21 29 15
hemmer commented 3 years ago

Ah yeah good catch. The issue is here, were the normalisation logic isn't quite right, following the changes to add polyphony. Specifically it only outputs in the second block if the first isn't connected.

I think the fix is to replace:

else if (outputs[OUT2_OUTPUT].isConnected()) {

    for (int c = 0; c < activeEngines1; c += 4)
        out2[c / 4] += out1[c / 4];

    activeEngines2 = std::max(activeEngines1, activeEngines2);

    outputs[OUT2_OUTPUT].setChannels(activeEngines2);
    for (int c = 0; c < activeEngines2; c += 4)
        outputs[OUT2_OUTPUT].setVoltageSimd(out2[c / 4], c);
}

with

else if (outputs[OUT2_OUTPUT].isConnected()) {

    for (int c = 0; c < activeEngines1; c += 4)
        out2[c / 4] += out1[c / 4];

    activeEngines2 = std::max(activeEngines1, activeEngines2);
}

if (outputs[OUT2_OUTPUT].isConnected()) {
    outputs[OUT2_OUTPUT].setChannels(activeEngines2);
    for (int c = 0; c < activeEngines2; c += 4)
        outputs[OUT2_OUTPUT].setVoltageSimd(out2[c / 4], c);
}

In this scenario mono top section will only be present in the first channel of a poly bottom section, which I think is probably the most sensible behaviour.

However frustratingly, I'm actually away on holiday for 2 weeks with no access to the developer machine so will be a little difficult to test/validate. @AndrewBelt may be able to help, and I may be able to get access, but worst case it might be a couple of weeks before it gets fixed.

Litiec commented 3 years ago

Thank you fro the reply! I just wanted to let you know.

AndrewBelt commented 3 years ago

Fixed in a0acea0