Allow User-defined Mapping MIDI Program Changes to Snapshots

On the MOD Duo, you can let de Duo listen to MIDI PC messages and activate the appropriate snapshot.
However, this is just a 1 to 1 mapping that can’t be controlled: PC-32 will always activate snapshot 32.

For my specific use case (see Rearrange snapshots list (MOD Dwarf) - #9 by the_unlord), it would be very handy if you could specify your own mapping and allow multiple PC messages to activate the same snapshot.

Something like this, maybe:


The way that the Program Change messages is implemented on the MOD platform it’s actually a super conventional implementation on any device able to understand MIDI.
In order to map better your request I need to ask you a couple of questions:

  • Why this would be better on the MOD side rather than having the MIDI controller sending the same PC message from multiple buttons, instances, or whatever you implement on it?
  • Wouldn’t the virtual loopback and the infamous mindi help you with that?
1 Like

The problem is that I’m using a Harley Benton MP-100 MIDI Controller and I can’t change the PC messages that are being sent in the Custom mode I use. There are 8 different modes, but the first 6 are for specific amps and FX, the last 2 are 2 custom modes which work exactly the same, but can be separately configured.
The only thing you can set concerning the PC messages is how many there are per bank (or group as they refer to it) and you can choose 4, 5, 8 or 10. So in the case of 5 (which I’m currently using), the first bank will send PC-0 to PC-4 on buttons A to E, the next bank PC-5 to PC-9 and so on. There is no way of changing that.
The remaining 3 buttons can be configured to what PC or CC messages should be sent, but those then are the same for all banks.

Since I can’t do it on my MIDI controller, being able to do it on the MOD would be better in my case :wink:

However, I haven’t considered the Virtual loopback yet (never used before)…
How would I go about that then? Keep my MP-100 sending on channel 1, but have my MOD listen on channel 2 for PC changes for instance. And enable the virtual loopback, of course.
How could I then make the Mindi send the appropriate PC messages on channel 2?

Or do I keep it all on channel 1 and make extra snapshots and just change the Mindi in those snapshots to ‘redirect’ back to another snapshot by sending the appropriate PC message?
So in my example image: in the 5th and 10th snapshot (counting from 0) I should have a mindi set to PC-0. Seems a bit laborious, but maybe less so than copying whole snapshots around…

It would be awesome if I could solve it easily with the current version for sure!


You can have the MIDI controller controlling an infamous mindi plugin that is connected to the virtual MIDI loopback port and sends the required Program Change message.

Wouldn’t that work?


I need to check that, but to my knowledge, you can’t really ‘control’ the mindi with another device: it doesn’t have any input. It just sends out MIDI messages when any value changes (e.g. when the value or CC number or PC number of the plugin itself differs between 2 snapshots, the mindi will send out the new value).
Maybe you can assign these paremeters to buttons and knobs (maybe even with MIDI Learn?), but I don’t see how that could help me when my MIDI controller only sends PC messages (or fixed CC messages)…
I would need some kind of MIDI IFTTT-thingy… If you receive this MIDI message, then send out another one. I don’t believe that exist yet in the MOD world?

Something like this maybe: MIDI Event Mapper?

You can’t input MIDI notes indeed, but you can map any of it’s controls to MIDI CC messages coming from a MIDI Controller.

I guess if you use the fix CC messages to control mindi it will work

We have MIDI converters, meaning, MIDI plugins that receive one type of message and convert it to another. While searching quickly for a solution for you I didn’t find any converting directly to Program Change (what is a shame). But I believe that the workaround with mindi and CC messages assigned to it may work.


With this whole Reboot thing finally getting on track, let’s continue this conversation :slight_smile:

So, I managed to get going by having my Amp MIDI channel switcher listening on channel 2, and the MOD Duo on channel 1 for snapshot changes.
My MP-100 MIDI controller sends on channel 1.
I then have a Mindi sending on Channel 2 for Amp channel selection, and another Mindi as ‘redirector’ that sends out on Channel 1 again. You need Virtual MIDI Loopback on for this to work

So if I have 2 banks of 5 tones, but the first tone of the 2 banks needs to be the same (e.g. a straight Clean tone), i would make the second mindi send out a ¨PC-1 message when snapshot 6 (the first of bank 2) becomes active, effectively ‘redirecting’ the MOD back to snapshot 1.

It’s a bit clunky, and a pain to configure as you need to disable Loopback while configuring, or you get redirected all the time. And not forget to re-enable it afterwards. Not optimal, but it works.