Help with midi -> CV -> plugin state

Hi, I searched for a solution to the following problem, however without succes :smiling_face_with_tear:. See the picture. I use a midi footcontroller and want to set the knobs of the same plugin (eg, the Tube Driver) to different settings, using different midi commands. So, for instance:

  1. Knob 1 of the footcontrller gives midi cc#20 and needs to set State C of the Tube Driver (in this case I tried it with the Control to CV plugin)
  2. Knob 2 gives #21, when pushing this one it should transfer the settings of the Tube Driver to State B
  3. Knob 3: #22 → State A

Does anyone know if this is possible and so yes, how?

Not sure this would go all the way, but its a place to start. Look at the infamous mindi plugin and the midi loopback. This means the pedal could trigger a (in mindi defined) cc command (with the same number as the midilearnt tube driver parameter) , which would change the value of the potentiometers in the tube driver. It would be a value between 0-127. In the the diagram the drive param in state a, it looks around 40 and the drive param in state b looks around 80.

I presume the problem is going to be doing multiple cc loop backs at the same time to get the correct settings for all params. And how do you trigger the precise values from a single pedal press.

For this have a look at the x-42 plugins which are amazingly adaptable. There are all kinds of plugins there which turn notes to chords, change notes into cc values, (based on the original note or the velocity) and also produce multiple repeat notes (n-tap delay). With the eventual cc values, you can do midi loopback to change the tube driver.

Its likely to be a convoluted affair, but you might just find a solution there.

Ha Steve, thanks for the answer, however I only understand a very little of it: is it possible to make a concrete example?

Have a look at:

To get it to work you’ll need to have some hardware which can emit a cc (51) command on channel 10 for the “drive” controller of the tube driver plugin. Of course you can generate some other numbered command, but then you will need to edit the mindi plugins to make sure you’re sending the corresponding command number

Hi Steve, I connected the footcontroller cc51 ch.10. And I see the drive knob of the Tube Driver is moving from 0-1, just like specified in the ‘advanced’ option in the midi settings. However, I do not see the mindi’s at work: is there anything that I should configure to make them work?
I want three different foot control (CC51,52,53), each creating different settings for all three knobs on the Tube Driver. Is this what should work with this PB?

You have pressed the on-off switch on the mindis? the off should do nothing - but the on should set the values to be 32 (25%) 64 (50%) and 127 (100%) respective (per mindi)

Hi @robkoper,
If I understand your problem correctly, I think there might be a simpler way using snapshots. You can create snapshots for each state of your plugin. And you can call the snapshots with MIDI PC :

Ah yes: see it (had to press twice :grinning:). This aspect I now understand (thanks!). I learn each of the buttons of the mindi to a different CC from the foot controller. But still I have the issue how I can connect all three knobs of the TD to a single foot controller. This requires that I have 3x3=9 mindis of which 3 (for the 3 knobs that should move simultaniously) should listen to the same foot switch. In this case I should send out three different CC’s per footswitch. This will provide a challenge for the midi learn function of the MOD, I suppose.
I am wondering isn’t there a much simpeler solution for such an easy task?

There might be a simpler (see funkypou’s comment about snapshots). Anyway, here is another example

This uses a control to cv with a port called “tone+vol” which triggers two additional mindis. These turn on two mindis set to (chn=10)cc#52=127 (100%) and a (chn=10)cc#53=127 respectively. So you’ll need to do a midi learn on the tone and volume control for the tube screamer. In this way 1 command can change both the volume and the tone.

In sum, you’ll need 1 controltoCv + 3 mindis per state.

Hi, yes that is what I do currently, but I have several problems with snapshots that I want to get rid off. I posted this in another forum topic: Toggle on Plugins: settings snapshot or pedalboard dependent


Actually there is (maybe) a simpler solution. Just have 3 tube drivers in your pedalboard with different settings and use your pedal to route the audio to whichever one you want. See Ztoggle4 - MOD Audio

1 Like

Hi @robkoper
I’m not sure to understand, but I would do this :

  • assign all parameters of the Tube Driver that you want to move with different midi message (for example, we want to move parameter Drive, Tone and Volume, we assign CC#1, CC#2 and CC#3 to those parameters, and CC#0 to assign the on/off switch)
  • on your midi controller you can parameter the 3 footswithes like this :
    • your 1st footswitch send those 4 messages on 1st press to toggle the state) :
      • CC#0 → 127 (will turn ON the plugin)
      • CC#1 → 90 (will move your Drive to 71%)
      • CC#2 → 13 (will move the Tone to 10%)
      • CC#3 → 51 (will move the Volume to 40%)
    • your 1st footswitch send this message on 2nd press) :
      • CC#0 → 0 (will turn OFF the plugin)
    • your 2nd footswitch send those 4 messages on 1st press to toggle the state) :
      • CC#0 → 127
      • CC#1 → 105
      • CC#2 → 50
      • CC#3 → 100
    • your 2nd footswitch send this message on 2nd press) :
      • CC#0 → 0
    • your 3rd footswitch

Does it goes in the right direction ?

1 Like

You undestand that you can have presets both at plugin level and at pedalboard level?

you could store “state a”, “state b”, “state c” as tubedriver’s presets, bind them to e.g. CC#20 and have your pedals sending CC#20 with different values

Or, if your controller is unable to assign the same CC to different pedals you just need 3 mindi’s to translate the various CC sent from the controller to the one bound to the tubedriver

Yes, this could be the most simple solution! With the different ‘values’ to send with CC#20, you mean that ‘0’ is preset 0, ‘1’ preset 1 I suppose?

I tried it, but…
The presets of the Tube Driver (and more that I have checked) can not be bound to midi CC. See picture, or is there a different way?

1 Like

There are a few things that can’t be assigned to midi or CV. I’m not sure if there is a reason for this being the case. I ran into this trying to assign buttons to CV in the Looperlative looper.

I think the suggestion to switch among 3 Tube Drivers using a switch like switch trigger is probably the simplest if you can spare the memory, but it would be lovely to be able to assign presets to midi and CV (and the buttons in Looperlative too if I had my druthers).


I would be very interested to learn why some controls cannot be assigned to MIDI or CV and indeed how this difference manifests itself in the plugins. Given the power and flexibility of the CV plugins to build almost arbitrarily sophisticated structures it seems a shame that this can only be applied to some controls but not others.

1 Like

This actually sucks. I wasn’t aware if that.

To summarize this discussion so far: the midi and CV implementation is currently lacking functionality for use with an external midi controller.
There are two ways out of this as I see it:

  1. Implement everywhere the midi learn and CV assign function.
  2. Maybe the most flexible and probably easiest to implement option is to create a list of reserved Midi cc#'s which are bound to all the dwarf’s device footswitches: A, A+B, B+C, and furthermore the 16 [B & C] footswitches for all 8 pages (see in the picture of the ‘assignment page’ the two rows at the bottom).

E.g., cc#50 is bound to [Page 1, Footswitch B]. Independent of what the user has assigned to this footswitch, sending cc#50 will mimic that the user presses this footswitch and will perform the behavior that the user has assiged to the footswitch in the assignment page. This requires, by the way, that the same footswitch can be assigned to multiple plugin functions (currently only one).
Maybe also a couple of endless knobs should also have a fixed cc assigned, so that the assigned function can be controlled with an expression pedal.

Something similar could be done for CVs.