How do I A/B switch between two plugins?

I need to programmatically A/B switch between two plugins (that don’t have automatable bypass) in a single mixer strip. I can split the mono signal and mess with the pin connections to get L going to Plugin A (routing around B) and R going to Plugin B (routing around A), but the splitter should be an A/B switcher instead.

I can’t seem to find an A/B plugin in my Ardour interface nor did a Google search turn up anything obvious. Do you know of a way to accomplish this?

I don’t think Ardour has a built-in feature for this. Ardour’s “A/B plugins” only allows toggle bypass of all currently active plugins on a strip.

You could connect the track’s out to to two busses, then add the plugins there and use exclusive solo to A/B.

Another option would be to use pin-connections along with https://github.com/x42/xfade.lv2#fade-mode and hard-switch the A/B Control.

I’m curious how this could be added as a feature directly provided by Ardour. In particular if you want to do this programatically or automate the change.

For a proper solution, I guess some plugin like xfade.lv2 and pin-connections would be the most obvious way to set this up since this also directly allows to provide an automatable and mixer-inline control.

Thanks for the advice. I was able to use your crossfader to make it work. (See image.) The extra CPU usage running two amps (+ mono/stereo splitter + fader) sucks though. I think I’m just going to go with a drive pedal for dirt instead… after all that.

I’m glad that you got it to work.

I thought you wanted to switch between two completely different plugins. In your case with two instance of gxamp, you could simply automate their settings. – Is there a reason why you didn’t do that?

Yes multiple reasons:

  1. Too complex. It would require up to 12 automation lanes if you were to tweak every knob, cab type, etc. As you can see from my image, it only takes one when you use the crossfader approach.

  2. Precision. It’s actually difficult to drag the dot to the right setting in the automation lane. Nearly impossible to get, say, 0.00. You end up with like 0.12 one time and -.042 the next, etc.

  3. Tweaking. If you have one instance and set all the knobs to “play” for automation, then you can’t tweak on the fly. You have to set the lanes to “manual”, tweak, then set them to “play” again. Easier to have the knobs set at the time the session is loaded, yet mutable on clean and dirty channels.