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!

1 Like

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.


I know this question is old, however, this is the dockerfile I use for building mod-dwarf plugins, easily adapt to mod duo by changing the ./ line . The first deploy will take some time (i.e > 1hour).

FROM ubuntu:20.04

RUN useradd -ms /bin/bash modbuilder
RUN apt -y update && apt -y upgrade

ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Berlin
RUN apt install -y tzdata

RUN apt install -y acl automake bc binutils bison build-essential bzip2 cpio curl cvs flex gawk git gperf gzip help2man libncurses-dev libtool libtool-bin mercurial nano ninja-build patch perl pkg-config python python3 rsync subversion tar texinfo unzip vim wget

USER modbuilder

WORKDIR /home/modbuilder
RUN git clone
WORKDIR /home/modbuilder/mod-plugin-builder
RUN  ./ moddwarf minimal

WORKDIR /home/modbuilder

@scjurgen, the mod team also have a image for mod plugin builder. See the of the repository.

Now, at my machine, it spends more than two hours to build the image :sweat_smile:

1 Like