Controlling Endless Knobs/Push buttons with Midi

Im wondering if theres a way to assign a midi command to effectively push an endless knob, or push button.

This may be a strange use case, but I’m envisaging a scenario where I assign plugin parameters to pages of controls, and use an external MIDI controller (Graviton M1/FS6W) to control the parameters.

This would effectively give me an flexible way of supporting multiple banks of pedalboard control using a single set of 6 CC commands (using the Dwarf to effectively switch banks/pages).

(I know this id definitely not possible, but to be able to jump to a specific page would be a bonus!)

Not sure I understand the question. Is the “endless” knob on the plugin, or on the hardware?

I dont believe the concept of an “endless knob” exists in the mob ui - values are just between minima and maxima.

But then you talk about “pages of controls” - and then you talk of “a single set of 6 CC commands” - at this point I am lost.

I think a bit more context is necessary - maybe some diagrams also

Steve, I’m talking about the UI on the dwarf hardware.

See MOD Dwarf User Guide - MOD Wiki

Endless knobs are the ones you rotate, and can push to select.

The other buttons are below it.

You select pages by long pressing the leftmost footswitch. You select subpages by pressing the buttons under the endless knobs.

You can assign plugin controls to UI elements, that can be controlled by the aforementioned physical controls.

I would like to be able to virtually control the physical buttons over midi. So send CC1 to simulate “endless knob 1 press”. Send anothe command to select a subpage.

There are 3 endless and 3 push buttons (not including footswitches), so 6 CC commands could virtually control the entire hardware UI.

This would provide the ability to fully control your custom pedalboard UI using a very small number of CC commands.

Hopefully that explanation is clearer?

Great - I’m getting a bit more understanding now. So you dont necessarily want to interact with the values of plugins, but rather to get an external midi controller to control the lcd screen on the mod - and rather than using the mod’s buttons themselves, use another controller to navigate around. Is that right?

I presume after having paged to the right set of plugins/options that you want, you would still need to use the mod buttons and endless knobs/rotary encoders to change the operation of those plugins. Is that right?

If that is the case - I am not sure how that might be possible. Maybe have a look at the starless firmware threads where there does appear to be innovation at the level of the lcd screen for pedalboard control

“I presume after having paged to the right set of plugins/options that you want, you would still need to use the mod buttons and endless knobs/rotary encoders to change the operation of those plugins. Is that right?”

Not necessarily. If the UI element is a trigger/toggle type then it can be triggered/toggled by the midi command mapped to the associated button. Same for values. Thats the whole point of the mapping I’m after.

I am not sure how that might be possible. Maybe have a look at the starless firmware threads

Yeah, by posting this i’m hoping somebody who understands the working of the dwarf/mod architecture will chip in (I’ve been using Starless for a long time). Maybe I’ll raise a change request (more likely I’ll get around at some point to downloading the code and seeing if I can hack something together myself, but there might be something in the architecture that makes this impossible).

hey @CreativeLemming, as @steve, I’m not sure if I 100% understand your need/ request.

But if I do, have you looked into the Gossiper - Plugin to say what is happening when you are looking it ? I think that can be what you are looking for.

No worries @jon , seems its an obscure use case and it seems i’m having trouble explaining.

I asked about it in here and they seemed to get it, doesn’t look like it’s possible though to hook into the HMI as I’d like : Starless 17 with multiple controllers - #7 by CreativeLemming

To try to put it simply again - rather than bend down and press an endless knob to turn an effect on or off that I’ve mapped to a page/subpage, I want to be able to trigger that action over MIDI. And I’d like to trigger the panel button presses to MIDI also.
That way I could have 6 midi commands on a footswitch and completely navigate and control the UI/effects. This would make the 6 button footswitch be able to control any pedalboard that I design without explicitly mapping MIDI commands to the effect parameters directly, but by mapping the effect parameters to the UI just navigating pages/subpages and triggering - just like you can with your fingers.

…imagine instead if I wired out the physical switches to external footswitches (or had really skinny toes and could press the knobs/buttons with my feet)

CC1,2,3 → Endless Knob Value

CC4,5,6 → Push Button (select subpage 1,2,3)

I guess that what you want put quite simple is to be able to map the MOD Dwarf UI to an external controller (all of it, including the pages footswitch and the subpages buttons) to an external MIDI controller while keeping the visual feedback on the MOD Dwarf screen and LEDs.

Is that right?

Well, not necessarily the pages footswitch because thats already dedicated to a footswitch (although to generalise it would be useful, as could minimise time to navigate back which currently needs a long press) - Just the endless knobs and push buttons as mentioned in the original post are required as they aren’t accessible as footswitches.

So yeah, to generalise, a way to control the equivalent UI controls that those buttons map to, correct. If it could be generalised further to UI control in general (i.e., CC commands to select page+subpage, even better!)

For the Dwarf, I’d treat each endless encoder as a relative CC source and keep the displayed value in sync with the pedal’s state. Use one MIDI channel per page (or a dedicated CC for page select), then map the push to a note/CC that toggles the page. A simple pattern is page 1 = CC#20–27 and page 2 = CC#28–35; on switching, send the new page’s absolute values so the encoder pickup doesn’t jump. If the target only accepts 7-bit relative data, choose one relative mode consistently (for example 1/65 or 63/65) and avoid mixing it with absolute CCs. For debugging, log the outgoing CC and channel first; many “endless” issues are just the wrong channel or a stale bank selection.

Ok. So I fully got it now.

Unfortunately that’s not (yet) possible. I can see some use-cases on what you are requesting. Although that is not on something on an official develop roadmap. But now with the new community approach for the MOD OS, maybe you can get some supporters for your request :slight_smile: