Control to CV - HMI Widget popup message on the screen

It seams that this suggestion of making all midi assigned in the Dwarf won’t be happening, and it should be an update of each plugin to use the HMI Widget popup message in place since the 1.12 release.

Fox example, here would be a Control to CV plugin showing the name entered in advanced panel and the % of the button :

Ecran ModDwarf - pourcentage v2

So I put some hope for an update of those MOD plugins to add an option to show infos on the screen :

  • Control to CV - MOD Devices which could show the button moving (as suggested above), and the ON / OFF state of the plugin too
  • all CV, midi and audio switchboxes : Plugins - MOD Audio. (It’s time to update them so they can be moved by CV or midi too)

The mod HMI has a limitation that requires that one parameter need to be showing on screen for the plugin can show the popups.

Then, some of the “time, rate, mix, modulay, bigmuff” parameters on your example is needed to be of the plugin that will shows the popup.

I’m developing a plugin for show the on off state. Maybe it could be useful for you. Its name is “gossiper”, because it tells you what is happening :laughing:


If someone is interested in, there is a preview:

As you can see on the video, there is a parameter on screen. Because of it, it’s possible to show the alerts. Then, this parameter exists just for enable the hmi popup presentation.
I added four of parameters like this, then I see the popus on four distinct pages.

For me, just parameters is sufficient, but Is four sufficient for the community?

If someone is interested in, please contact me. Would be great if someone can test it too.

@Rom, we can try to add a alternative for percentage too. If you explain what exactly you are trying to show, would be great. (It was a Cv value?)



In my example time, rate, mix, modulay, bigmuff are just the background… you see in the GIF the percentage of the button of the Control to CV moved by a midi expression pedal.

This is amazing man ! The I use th Control to CV as a single channel of your plugin !

I’m not sure to understand, is it a problem ?
Can you rename those popups so it shows any message the user want ?

For me too ! If the two versions exists (4 and 7), and can be loaded multiple times in a pedalbord, then I don’t see any limitation.
Could we edit the min and max voltage of the CV send ?

1 Like

Yes. It is a problem: as you can see on the bellow link, you need to sacrifice some of your parameters with a parameter that enables it’s plugin shows message on the current page. So, on your example, if no one of the parameters are from the plugin that will showing the popup, there isn’t possible to it show any popup

There is a limitation: you need to sacrifice a parameter slot on the screen for each plugin that needs showing popups.

A possible alternative would be if the gossipers talk to each other at the background to enforce that everyone gossipers gossip its and their stuffs, something like Portal does: two distinct pedals without be connected each other talk between each other on background.

But this level of skills programing on C lang is out of my current ability.

I’m not sure, but I think that it’s possible. I will test it and I’ll talk to you.

It’s possible not it doesn’t implemented. I don’t know how to do this yet. I’m looking the Multi CV plugin, as it has this functionality.

I’m sorry. I think I didn’t understand well.

Are you talking about replacing the use of control to CV to a single parameter of the Gossiper? If it is, then I think it is the way. If doesn’t, I didn’t understand.


Here you can see the limitation:

1 Like

oh ! :flushed:
So that makes the HMI Widget pretty useless, no ? If there is already something showing the state of the plugin on the screen, why bother having a popup ?

So this is still something I should put some hope into : Expression pedal : showing percentage on the screen

Oh sorry, there was some letters missing here !
I was saying that your plugin is like the Control to CV (the way I most use it) but with multiple Control to CV in a single plugin. (to tell it the other way around, Control to CV is a single channel while your plugin is 4 or 7 channels)
So it would be perfect for me !!!

1 Like

I quite agree with you, but I understand the Falktx point on the thread that we were talking about this limitation. This situation remembers me the browser alerts and popups. The browser developers needed do add restrictions into browsers because there was a lot of “web masters” that was abusing this resources.

Ok, I think that it can be done :slightly_smiling_face:

1 Like

Not quite - if I understad it correctly, you have to sacrifice one “parameter slot”, but then you get popup messages for four different switches.

Mmm… but we have now all the knowledge missing at that time to avoid this problem : if the ModOS is handling this instead of the plugin it could chose to deactivate it by default. Then, since there is already an advanced panel for each plugin, the user could enable the interaction with the screen and not bothered with popups not wanted. Am I missing something ? @falkTX ?

You have to sacrifice one parameter slot on each sub-page of each page, if you want to have this popup anywhere you are inside your setup.

1 Like

it is a question of “should we do this?” more than “can we do it?”

I will say it again: the popup mechanism is there for special cases, it is not meant as a debug feature.

Seems best to me to take a step back and write what is the purpose of the request.
If we want a bigger display of a knob value is when changed - that is a totally different request (and a valid one). It would be done on a system-level so it applies to all knobs/controls.

Some new option to “allow this plugin to send device popups” seems bad to me, it is yet another option in an already complex system.


I vote for this one !

1 Like

If there isn’t a restriction that implies that the plugin needs to be already on the screen, it would be great.

Ok, if isn’t, it at least would be useful for accessibility purposes.

1 Like

Hi @Rom. Each param add requires a new output. So, if I, for example, add 7 parameters related to rotary encoders / faders, it will double the outputs and the plugin height too (MOD UI). Ideally, instead of increasing the number of parameters, using more than one instance could resolve this situation, but we have the situation discussed previously about the requirement plugin occupation on screen.

Have you some suggestion about the UI design for avoiding a BIG TALL plugin? :sweat_smile:

Hi Paulo
This post was related to the Control to CV because it can be use as a switch, and as an expression… so having 7 rotaries in a plugin not sure to use them all !
I was referring to the 7 switches you where planning to put in your plugin (because of the 7 colors if i remember right), and if possible having the possibility to edit the lower and higher value of the Off an On states of each switch.

But we could continue this conversation on the other thread about the plugin ?


Ok, Rom. I created a new topic.

I’m sorry for changing the focus of this topic

1 Like

No problem at all man !!! Thanks for your amazing job !

The topic has moved in two directions :

  • your plugin
  • handling the screen with the system so it applies to all knobs/controls, not only the Control to CV

Both outputs are cool !!!

1 Like

If I understand the goal here: to visualize the state of particular parameters of interest to the player in a live situation - I was wondering if you’d thought of midi steganography as a possible way to output the results. Namely, send a load of midi out containing an encoding of a textual representation of states.

I’ve been experimenting with this as a long term fanciful goal of associating a kind of karaoke display with the progression of a looper over a number of bars - i.e to show the lyrics at that particular part of the song. The way I thought of doing it would be to use the velocity of a note to contain the ascii value of the character. Basically representing each text line as a chord (with max 128 notes/characters) - just get the notes going up one by one, but for each note giving a velocity to represent that character.

In Python, as an experiment, here is turning a text into a midifile (though in your system it would need to be dynamic) - I’ve used < and > as indicating start transmission and end transmission. The client would then need to recovert the received midi back into text to be displayed.

from midiutil import MIDIFile

MyMIDI = MIDIFile(1)
MyMIDI.addTempo(0, 0, 240)
MyMIDI.addNote(0, 15, 0, count/10, 0.1, 60)
with open("text.txt") as f:
    while True:

        line = f.readline()

        if not line:

        verseline = line
        for j in range(0, len(verseline)):
            # MyMIDI.addNote(track, channel, pitch, time + i, duration, volume)
            MyMIDI.addNote(0, 15, j, count/10, 0.1, ord(verseline[j]))

        count += 1
        #notes = ""
        if count>127:

count +=1
MyMIDI.addNote(0, 15, j, count/10, 0.1, 62)
with open("text.mid", "wb") as output_file:

However, this might be totally irrelevant, and if so, ignore it!


You could use midi SysEx to transfer system specific data

Thanks, I hadnt thought of that (and didnt really know what SysEx was). Unfortunately however, I dont think the Adafruit midi library (which I am using on a Raspberry PI Pico) doesnt appear to be able to read SysEx - but I have tested it being able to read notes as ascii values

1 Like