[LV2] How to load a LV2 preset stored in a Turtle file?

Sylvain Leroux sylvain at chicoree.fr
Mon Apr 30 03:29:21 PDT 2018


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi Robin,
Thank you for the answer.


On 04/30/2018 03:42 AM, Robin Gareus wrote:
> I guess you're coming from 
> https://github.com/lucianodato/noise-repellent/issues/56

Indeed. And I started my quest on the Ardour forum ;)

> Coincidentally Julien _FrnchFrgg_ Rivaud and me discussed this 
> earlier today on IRC and I have whipped up a patch to `lv2file`: 
> https://github.com/jeremysalwen/lv2file/pull/3
This seems very interesting. I still need to study that in depth, but
even a quick look helped in clarifying few things. Like that:

> lilv_state_restore() does it all and uses serd/sord under the
> hood. See http://drobilla.net/docs/lilv/
I completely missed that.
By reading http://lv2plug.in/ns/ext/state/state.html I though I had to
provide the `store` and `retrieve` callbacks to the plug-in. But I
(think I) realize now this was the low-level LV2 API, and `lilv` is
hiding most of that complexity. Or I am still misunderstanding something?


> It would be nice to have a clean implementation of this, but IMHO 
> it would make more sense to continue re-factoring lv2file and
> clean things up there instead of extending lv2apply.
That makes sense. I will do like that.


> 
> [...]
> 
> For noise-repellent, you'll also have to add support for an LV2
> URI map to lv2apply at the very least.
If you may elaborate a little here...
I've seen the LV2_URID_Map and LV2_URID_Unmap type used in the `lilv`
API. I /supposed/ `LV2_URID_Map` was some kind of associative array,
and `LV2_URID_Unmap` was probably the reverse mapping.

Now, how is this specifically related to noise-repellent. To handle
the vector of floats in the state maybe?


-----BEGIN PGP SIGNATURE-----

iQJIBAEBCAAyFiEEl5bRd1eLmzy/wTZWq1gfHR9hxSIFAlrm8AEUHHN5bHZhaW5A
Y2hpY29yZWUuZnIACgkQq1gfHR9hxSIMyg/+LpF6Fnh/iYfkJOecuxGXViBW0Azd
VX6PhTKf+2wHGQ1xX/L8a3fKGh4qcYgLriiFaE/7v1+eW/s1qiqJYqBTl1A9xO+u
kkucCQB8HrkasKN3VhPwquJFZNGUqr+KQT/TKmXSnqgwdamCQuDgGAOskbRCC1vq
Ket+WRgtxay1OaEgNQRxhSIkIV4yOzPFRPN0W2nl85gxZp78xFiyi82N4TF5HC/q
rqutZevjp9h3fiWX6lzgpe+ud0GPq4FIXjDVDwO+PKDN+rwTThAmtnMOkioZzwu8
rUoV1AuuWOms1CcrNxBvD4IbhyzU5LfQJ7g+cqDWtqVtgrbC77pgRdxL5Yi7icmp
bwXp586K7R3fb2Z/Qo8jqZqIPrWUlU/9Ej1NcZW00+GEb0lldtcYWyJiITWwy4MM
vQroH3IfdVcPoe7DmoINvLPtPQHkFU3JqJ3780qJgaurMgwqDBgr8uh6h78zzkl4
s80bwSkD3LqCm1HB81P5/mQOPp2sj3u121FrVEOlSbsZCcyTKapxG1505fh331MV
wpRxJALz+JvqoqnwcN7SOTHxS1tpbgqLktZ2FKglvgjkZ/DW9J6xuvyeQXyEmySM
Mh8Wbvmvtk/O76ZvCxHts9GZssa4d4UAYcNup9VutAURuaBtrpWd8IzVTkSmWtKP
+CAvXPyrcYufpPM=
=0ZZc
-----END PGP SIGNATURE-----


More information about the Devel mailing list