[LV2] Feature request: DSP write_function() ?

Hermann Meyer brummer- at web.de
Mon Dec 21 04:06:28 PST 2020


Am 20.12.20 um 11:49 schrieb Sven Jaehnichen:
>
> Hi,
>
> the old problem: control ports are READ_ONLY in LV2. Me and other
> plugin programmers struggle about it. I know it has been discussed
> here before and I know the workarounds (like parameters) and their
> limitations.
>
> Actually I read in unfa's software chat that the Surge programmers
> team are struggling about this problem too:
>
>> |We made this choice because parts of the current LV2 spec and Surge
>> are incompatible in a couple of ways, most importantly in the LV2
>> assumption that plugins never modify their control input port.
>> Actions like ‘changing parameter types when an effect changes’ or
>> ‘patch changes’ are not compatible with this design constraint. As a
>> result, the LV2 - especially in Ardour - unreliably saves and
>> restores state. The solution - which we are working on - is to use
>> new LV2 APIs that allow current Surge behavior (and match what other
>> plugin specs like AU and VST do).|||
>
>
> My request: LV2 UI can call the host to change control port via the
> write_function(). I don't see such an option for the DSP instance.
> Why? It would be nice to have it. Or are there restrictions why it's
> impossible or problematic to implement?
>
> Best wishes
> Sven
>

Yes, that would be nice.

In the past I've worked around that by adding a output-port with
NotOnGui and send a message from the plugin to the UI force the UI to
send a value change for a input port. Drawback is, beside that it needs
some care to avoid loopbacks, that this only work with the plugin GUI,
not with the host provided UI.

Using atom ports could be a solver, just, unfortunately the only host I
found which fully support the patch:Set patch:Get extension is Qtractor.
All other hosts I tried didn't handle those messages in the one or the
other way, so that sync between host and plugin provided GUI didn't work.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lv2plug.in/pipermail/devel-lv2plug.in/attachments/20201221/bd3b6cc5/attachment.html>


More information about the Devel mailing list