Question: Switch between signal paths using midi footswitch

Hi all,

I have just picked up a second-hand KMI SoftStep (v1) to accompany my Dwarf (OS Version: and have started experimenting. This is my first time using a MIDI device of any kind so apologies if I am missing something obvious.

I would like to be able to switch between three mutually exclusive signal paths using a single pedal on the MIDI footswitch. The paths could be arbitrarily complex but in the example board I have created I have a “clean” path, one with the Roomy reverb and a third with the Shiro reverb. I am using reverbs as my test case since I sometimes want to include plugins with “trails” where simply enable/disabling the plugin directly is not desirable.

Initially I thought I would be able to use SwitchTrigger4 but this seems to want a MIDI button for each path. Having read the CV Macro Controls tutorial I thought I might be able to use the CV Switchbox 1-3, but it seems that the SwitchTrigger4 plugin does not accept CV assignments.

The ToggleSwitch4 does accept CV assignments, but the CV Switchbox 1-3 does not accept MIDI assignments, so while I am able to assign a Dwarf footswitch to switch between paths, I have not been able to do the same with a pedal on the MIDI footswitch.

I also thought about using MIDI or CV to switch between plugin presets, but again while it is possible to assign a Dwarf pedal it does not seem to be possible to assign MIDI or CV.

Any advice would be much appreciated.


I’ve tried to find a workaround for your case, and could not find any good solution, actually.

Ended up with this overengineered abomination.

MIDI is assigned to “Control to CV” plugin, should recieve 127 for press and 0 for release.
It switches between 4 channels using one button. Make sure your presses are short.
Due to… things, it flicks between changing channels to some other undesired channels for a short moment.

Some fast explanation of how it works - I use two multibuttons, one of them switches another multibutton (but two times slower) . Each has two states, therefore I get total 4 states. These 4 states are joined by summing up multibutton outputs, with one multibutton output multiplied a bit, so I have a different CV value for each of 4 states. Range dividers are triggering on CV being in ranges which catch each of these 4 values, and, divders in turn, are controlling toggle channels.

I do not think you gonna use it, but as soon as I’ve made this anyway - I am sharing it, maybe it can inspire for a better solution.

As soon as you’ve got KMI controller, maybe there is a better way using some KMI’s flexibility.

I have KMI Softstep v2, maybe I could try something tomorrow, but if even I get lucky - not sure if it ports to KMI v1


I’ve fixed that “flicking” channels and was able to get rid of a couple components.
This one even can be used, I guess, while it’s bulky.
Midi should be now assigned to the Button control of the most left Multibutton plugin. The same way - 127 for press, 0 for release.

And yes, I know you’d asked for a 3 way switch, not a 4 way, but I have no idea how to implement that.
This method can give you only power of two amount of states. You can use same chain twice, I guess.


Thanks very much for your reply, @ignis32; it’s already helpful to know that there was not an obvious solution I was missing. I will take a closer look at your v3 solution and will also experiment further with the SoftStep; perhaps it is possible to build a solution using multiple MIDI commands…

1 Like

I think there might be one another option.

With KMI v2 setup for a button like that, you can choose between channels using Switch trigger,
using short press for a first channel (CC10), double for a second channel (CC11), long for third channel(CC12)

Only problem is that in Standalone mode KMI cannot use Fast Trig in standalone mode (my biggest disappointment with Softstep2 at the moment, btw, some functions are available only if you run KMI with their app and forward midi using loopMidi or something like that.)

Therefore I use Foot On which sends CC signal anyway.

This means that before switching to channels 2 and 3 - Switch trigger would flick to Channel 1 for a small amount of time, reacting to Foot On before receiving Dbl Trig or Long Trig

I have no idea if it’s gonna work for KMI Softstep v1, it might be constrained even more.


P.S. I had some hopes for Increment and Counter as a control approach, but increment seems to increment too fast, and counter is not available in Standalone mode again (KMI, what the heck).

If you run Hosted mode (KMI connected to its PC app) you can try use Fast Trig instead of Foot On to remove flicking to channel 1 for that onetap/doubletap/long approach, or use completely different way - Try to use counter, to send CC values between 1-3 map CC values to Params2CV plugin, and catch these three CV values with CV range dividers.
I do not use Hosted mode, so I’ll skip trying this.


Unfortunately seems like KMIv1 is not able of fast/dbl trigs in Standalone:

While KMIv2 can:

At least seems so from the docs.

1 Like

Here is a Toggle switch utility cycling between the outputs with only one foot controller (momentary on):

Ztoggle4 gets one audio stream as input and chooses one of four outputs to route the audio. When the SELECT switch is activated (MIDI and CV assignable) the audio stream pass to the next output .
Could be used also as a Killswitch.

The CYCLE selector has four modes :

  1. 1 (only useful when KILLSWITCH is engaged)
  2. 1-2
  3. 1-2-3
  4. 1-2-3-4

When the KILLSWITCH is engaged , the SELECT switch cuts audio when it’s on.


That sounds super useful! I’ll try it out soon :slight_smile:

Thanks @zwabo,

I have installed Ztoggle4 and am now using it in two pedalboards, it works perfectly - thanks very much indeed. I am now curious to know a little more about the development side of things and have a bunch of questions regarding user interfaces and how the MOD UI determines which controls should be mappable to MIDI/CV/Device buttons - but perhaps I should ask these in the Development section, and I should probably read some FAQ’s first.

I will also say that I think this plugin is potentially useful to many and should probably find its way into the plugin store at some point (again, I don’t know what that involves either…)

Thanks again,


why don’t you use the snapshot function?

Using snapshots to switch paths might make sense if the only thing I ever wanted to change with a snapshot was the signal path for a single set of plugins (e.g. one instance of ztoggle4) - it would work for the example, but not for a more complex pedalboard with two or more switchable paths. I have not tried it myself (yet) but other posts on this forum suggest that switching snapshots also causes looper plugins to reset; if this is true that would also be a problem for me.

1 Like

Yes, loopers and Audio player may be resetted

as soon as you can not exclude plugins from applying snapshot - anybody who cares to maintain manual control over parts of the pedalboard would not be able to use snapshots.

1 Like