martin-lueders / Befaco

VCV Rack plugin based on Befaco Eurorack modules
https://vcvrack.com/Befaco.html
BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

A*B+C Bug With Monophonic Inputs (MW and PW) in Poly Mode #6

Open FunkybotsEvilTwin opened 4 years ago

FunkybotsEvilTwin commented 4 years ago

AB+C is not creating copies of monophonic inputs as expected when combined with polyphonic signals. Example: using the MW or PW outputs from MIDI-CV and combining them with a Polyphonic V/OCT output should result in MW and PW being copied across to each polyphonic channel. But AB+C doesn't handle these monophonic inputs as expected. So MW and PW are only happening on Poly Channel 1 and not all 16.

So, I originally thought this was a bug in the VCV MIDI-CV module and posted this issue:

https://github.com/VCVRack/Rack/issues/1587

After, some back and forth (me not getting it) and additional explanation from Andrew here...

https://community.vcvrack.com/t/rack-development-blog/5864/41

...he identified that the issue is actually in how this particular A*B+C fork is handling monophonic signals. It's a great explanation that even I was able to understand. So just reporting the issue here in the hopes that it can be resolved.

The relevant part of Andrews explanation in a nutshell...

If a monophonic signal is patched into a polyphonic module currently running with N engines (each representing a polyphonic channel), the monophonic signal is copied to all engines.

If you’re familiar with programming, you can think of monophonic signals as “scalars” that implicitly cast to polyphonic signals (vectors) when incompatible types interact. For example, the expression a + [b1, b2, b3] should reduce to [a + b1, a + b2, a + b3]