So I (rather accidentally) ended up installing ModDevice’s version of mod-host. And everything runs fine. So far. I picked up the Moddevices’ mod-host without appreciating how different the MODEP and MOddefvices distributions are!
There’s a feature I particularly want that’s present in ModDevice’s mod-ui (specifically, the ability to return vectors of values from the lv2 plugin to the web UI…
However, current version of mod-ui used by Blockas MODEP is “268 commits ahead, 405 commits behind” the moddevices:master of mod-ui from which it was forked!
What exactly am I going to get if I compile and install the MoDevices version of mod-ui. I can easily imagine 268 reasons why things might not go well.
I’m trying to decide whether to try to pull and merge from the Blockas github, or switch to Moddevices’ mod-gui.
The application: svg-based frequency response graphs for complex sets of filter controls in a very sweet guitar amp sim.that I’d particularly like to run under MODEP.
This is the UI I’m trying to replicate: https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/14009/ That’s my amp sim. The graphs have a hugely positive effect on usability, so I’m willing to go a long way to get the graphs replicated.
The challenge: Blockas’ current mod-gui does NOT support atom:vector notifications on atomSequence output ports. (via the patch property_set extension). ModDevices’ version of mod-gui does. Disappointingly, neither version does the right thing and fully interprets arbitrary atom streams, although I don’t actually need that.
What exactly am I going to get if I substitute the moddevices version of mod-ui? An unholy mess? Would I be better off pulling and trying to get Blockas to merge the relevant code?
Total changes: about 50 lines of javascript in mod-gui. Maybe a couple of hundred lines in mod-host (I haven’t checked). Maybe 400 lines of javascript to do the right thing and make mod-gui fully parse mod-host’s version of atoms streams. Or Json-ize both (probably THE right thing to do).
The current state of my implementation: Receive a change notification on an output control; SET a frequency response request on an input control. Wait for frequency response and requestOut on an output control. Repeat for 64 frequencies. All of which takes about 10 seconds, for 64 values. All of which could be resolved completely if only I could convince mod-gui to pass me an atom:vector of data.
Mod-host will current send vector data as parth of the patch extension. The Blokas Mod-UI receives the notification from Mod-host, and then promply and discourteously throws it away, rather than forwarding it to the modgui javascript code. The Mod
Total changes: about 40 lines of javascript code in mod-gui. I’m not sure what Blockas’s mod-host looks like – maybe a couple of hundred lines in mod-host.
Opinions? Theories? Advice?