I’m new to MOD Desktop and I’m still testing what it’s capable of (btw. whoa, it’s very capable and I’m loving it so far. Great job, guys. You’re amazing for giving out so much value for free) and decided I need an EQ with realtime spectrum analysis, so I reloaded MOD Desktop with “Show all LV2 plugins (not recommended)” checkbox ticked and tried loading one of the LSP Parametric Equalizers. Thing loaded up fine and I was still pretty confused and unsure about how things work, so I clicked a bunch of things and was confused that I can only get into the standard “knob” view.
Then I looked up this post and realised something is not working properly.
I then downloaded the plugin described by Falk in the aforementioned post (master_me) and the UI loaded up fine, so my issue must be depending on the plugin to plugin basis. Same thing happens for all of the LSP plugins.
When I try opening the external ui I get following messages in mod-ui console:
DEBUG:root:[host] popped from queue: show_external_ui 0
DEBUG:root:[host] sending -> show_external_ui 0
DEBUG:root:[host] popped from queue: cpu_load
DEBUG:root:[host] sending -> cpu_load
DEBUG:root:[host] popped from queue: cpu_load
DEBUG:root:[host] sending -> cpu_load
DEBUG:root:[host] popped from queue: cpu_load
DEBUG:root:[host] sending -> cpu_load
and the console keeps getting flooded with cpu_load messages.
The plugin itself does work correctly. I can hear the audio changing according to the changes I make with the simplified controls. However, I wanted to get the whole UI for the spectrum analysis.
How to reproduce
Download LSP plugins suite and put it into your .lv2 folder
Run MOD Desktop with “How all LV2 plugins” option checked.
Add any of the LSP plugins to the pedalboard
Click “four square windows” icon above the pedal
Expected/suggested solution
The plugin graphical interface should appear in a popup window.
Additional information
release: MOD Desktop 0.0.9 - 0.0.12
Also provide some information about your system if possible.
Operating system: Linux
System version: NixOS 23.11; Hyprland(Wayland); Pipewire;
the external UI support is lacking a few things to make it work properly yeah, most plugins dont support showing their UI without the host providing an OS window so this needs to be handled too.
the flood of “cpu_load” messages is just from the early hack/experiments to try to get these UIs to run, as they need an idle loop from the host side mod-ui/host is just abusing an unrelated call to keep the socket active. good for testing, not good for actual usage.
to be improved soon.
PS: since you mentioned master_me, I got the full UI working embedded on the pedalboard, alike cardinal and wolf shaper. it is too heavy even for the Duo X, but can typically run on the desktop, so I will add it to mod-desktop for the next release.
So it’s reasonable to assume that one day it will be fixed and we get it working? It would be great. I’d love to have that, as it would enable me to just run MOD Desktop and nothing more for what I need.
Also, LSP has some really nice plugins that could be useful for many people, I think.
Meanwhile, is there any way we can tell whether a given plugin will show up their UI or not? I don’t get the “host providing an OS window” since master_me(the only plugin I confirmed to work with external UI) opens up in separate window.
BTW. Does anyone know of a graphic/parametric eq with spectrum analysis that can work?
Yes of course.
It is not a big priority though, so it might take a while.
Ideally only those UIs that really work would show the icon to open their external UI. The icon being there but then not working is a bug, it shouldn’t be visible for the case of LSP plugins.
I mean if there’s something particular about LSP plugins that makes them not work, while others do, so it’s easier to pick good candidates for testing.
So I assume every plugin that comes attached with it’s own gui gets the icon displayed.
Some show up and some don’t and I’m wondering what to look for in the plugins that might work out of the box.
However, a full technical answer might be too advanced for me anyway.
ok so the technical answer here is that mod-host has no system window whatsoever, it is a command-line tool in the end, so it can only launch LV2 UIs that can manage all the windowing stuff by themselves.
Typically plugins expect the host to give them a window, and they will attach their UI to it and draw on it.
LV2 allows to have fully external UIs through the use of “show interface” and “idle interface”, the first “show interface” simply sends a show or hide command to it and the “idle interface” gives it idle time on regular intervals.
This mechanism is often referred to as “external ui”.
Some plugins are able to show their UI as external (so without a host provided base window), but most don’t. For mod-desktop the button to show the custom/desktop UI was meant to only appear if the plugin supports external UI, but somehow it is being shown for any kind of UI support.