Programmatically switching pedalboards/presets


Hi all! I’ve been playing with my new Mod Duo for almost a week now, and I’m loving it. I’m a keyboard player in my church band, and I sometimes play electric guitar as well, which is what I’m using it for. I’ve been looking into different ways of controlling my pedalboards & presets, so here’s my question:

Is it possible to connect to the mod-host program through its socket interface and:

  1. Load pedalboards from the current bank
  2. Load presets that were saved in the current pedalboard

My idea is to run my own program on the Duo (probably a Python script) that interprets my input in some way (for now probably just MIDI messages) and then switches pedalboards/presets for me. The mod-host documentation has quite a few commands listed, but I don’t see anything about banks at all, and the only commands for presets seem to be plugin presets, not pedalboard presets.

Any help or suggestions would be greatly appreciated. Thank!


Hey @mystiscool!

Glad to know you’re enjoying it.

Pedalboards and banks are controlled by the mod-ui. The mod-host only sees the current pedalboard.

You can check how mod-ui does it and create your program based on that, or you can hack the mod-ui to do what you want.


Thanks for the suggestions! So far I’ve been hacking mod-ui to add in support for a few new HTTP requests, and I’m also working on a C++ program that will communicate with Jack and mod-ui both to do what I need to do.

Is there a Docker image for C/C++ development on the Mod Duo? I tried the mod-plugin-builder image, but it’s missing development headers for a bunch of libraries that are included on the Mod, like Jansson.