It would be cool if in addition to run/suspend icon for racks we had the bypass icon added to racks functioning identically to what we have for plugins.
The trick here is exactly what does bypass do? Racks can have an arbitrary number of input/output ports, each with arbitrary number of channels. When bypassed, how are those input channels mapped to output channels.
The solution I think is the same as for plugins but it means more configuration when you setup your input/output ports on the rack.
I would just switched all online plugins to bypass mode, and keep all other as is (but the rack should remember what plugins were switched to bypass in a simple json file, for example).
When the bypassed rack is switched back to online, all bypassed plugin states should be restored for plugins from that json.
But if any bypassed or disabled plugin in the bypassed rack is made online manually then the rack state should be also changed to online, but other plugin states should not be changed. Only this plugin should become online. And the json with rack state should be deleted.
Maybe I’m thinking to simplistically here, but 99% of my “processing” racks (as opposed to “instrument” racks) are simple one-input-one-output racks - stereo input to stereo output. In that case, bypass should be obvious - route input to output - done!
For multiple inputs and outputs, either route (and mix) all inputs to all outputs (while using reasonable channel mixdowns/splits mono/stereo etc) or alternatively add a boolean flag (“bypass source” / “bypass destination”) for rack input and output ports. Set to true for all ports by default, you can set it to false if you want to e.g. ignore a side-chain input when bypassing a dynamic processing rack. All input channels with “bypass source” set to True are mixed together and forwarded to all output channels with “bypass destination” set to True. Done…
Yes, there may be some edge cases with channel configurations that make this difficult, but I’d be happy with a mechanism that covers my 99% of typical cases and then maybe complains in those 1% cases where it doesn’t work. I could live with those 1% edge cases failing gracefully…
Pretty pleeease!
The trello card for this is here. I’ve bumped it up the list.