[LV2] Feature request: DSP write_function() ?

Hermann Meyer brummer- at web.de
Mon Dec 21 21:50:32 PST 2020


Am 22.12.20 um 00:55 schrieb Hanspeter Portner:
> On 21.12.20 20:55, Filipe Coelho wrote:
>> On 21/12/20 19:44, Hanspeter Portner wrote:
>>> On 21.12.20 19:43, Hermann Meyer wrote> Synthpod have it own issues as well,
>>> so for example it create controls
>>>> for patch:writable and patch:readable separately (Means it double
>>>> controls and only sync the readable ones to the plugin GUi, while you
>>>> could only change the writable ones, which are basically the same, but
>>>> threaded different). This do as well not allow to sync the plugin GUI
>>>> with host provided UI, and easily lead to a overflow in the atom ring
>>>> buffer.
>>> Can you show your *.ttl, please?
>>>
>>> I think you've misinterpreted something there. An lv2:Parameter either
>>> is patch:writable (read-write) OR patch:readable (read-only), but not
>>> both, if I'm not totally mistaken, that is.
>>>
>>> If you list the same parameter both as patch:writable AND patch:readable,
>>> then indeed synthpod may show two generic UI elements with only one being
>>> active.
>> I think you are mistaken, the LV2 parameter example plugin includes such a case,
>> see the spring parameter
>> in https://github.com/lv2/lv2/blob/master/plugins/eg-params.lv2/params.ttl#L100
> Interesting. I hope it's just a typo.
>
> from https://lv2plug.in/ns/ext/patch#readable:
>
>> A property that can be read with a patch:Get message.
> from https://lv2plug.in/ns/ext/patch#writable:
>
>> A property that can be set with a patch:Set or patch:Patch message.
> If patch:writable indeed does *not* include patch:readable, e.g. is only
> writable (not read-write), then the whole rest of the eg-params plugin is wrong,
>   because all of its parameters listed as patch:writable *do* respond to
> patch:Get messages and should thus be listed as patch:readable, too.
>
> A write-only parameter makes no sense to me as there's no way to query its value.
>
> ... or I'm totally confused about it, indeed.


 From what I see, that it is how you implemented it in synthpod:

patch:writable -> sync parameter from host UI to plugin GUI, parameter
could be controlled from the host UI and the readable parameter will be
updated to the value of the writable, but, when parameter change in
plugin GUI this is not reflected in the host UI. So, not readable.

patch:readable -> sync parameter from plugin GUI to host UI. Parameter
could be controlled from plugin GUI, the readable host parameter reflect
the value of the plugin GUI, but the writable isn't updated accordingly.
The parameter couldn't changed within the host UI.


btw. bypass the host (don't use patch:Set) and using atom parameter for
port values, works flawless in any host, what really is missing is the
sync between host and plugin GUI's.




More information about the Devel mailing list