[edit: since Announcements isn’t the place to further explore a specific topic I moved my response over here along with a summary of the existing discussion in this thread]
That approach is clear and intuitive, but in addition to expectations (which are set by convention as well as first principles) there’s also the question of what behavior the user wants or finds most musically or diagnostically useful when bypassing.
Consider VCV VCA; it seems immediately obvious that the bypass effect would be passing the input to the output at unity. Cool and useful.
So then what about VCV Mixer in bypass? I’d assume that In 1…4 would go to Ch Out 1…4 (since they’re effectively four separate VCAs) and, per your point above, the Mix Out would go silent (rather than becoming a unity mixer). OK.
But what about Audible Quad VCA, then, with (say) inputs in 1 and 2 and output 2 (but not 1) connected? Does bypassing turn off the normalization and mixing, so that In 1…4 go to Out 1…4 but there’s no longer any mixing down? I could definitely imagine wanting to bypass the VCAs in Quad VCA while preserving the routing and mixing (say I was modulating a LFO’s amplitude with another LFO on VCA1 and then applying a DC offset in Channel 2, then taking the mix out of Channel 2, which I think is a pretty typical use of Quad VCA; I’d be annoyed and a bit surprised to just get the DC offset out of Channel 2 on bypass, instead of an unmodulated but offset LFO).
I suppose if a design really had more than one reasonable bypass mode (which I suspect is uncommon, although Quad VCA might be an example), there could be a right-click configuration setting that processBypass()
could consult–another advantage of having it be an overridable call and not a static configuration.
In terms of expections (and which mode to pick as the default in the multi-mode case) we’ll of course have canonical examples in terms of what the VCV modules do in V2 when bypassed, and I’m guessing there will be some suggested conventions in the V2 docs…