Hello!
I'm trying to find anything (working example, etc) about the subject, but alas! ( I found only https://lv2plug.in/c/html/group__dynmanifest.html
The thing is, if a can fill dynamically lv2:portProperty lv2:enumeration, I'll make Drumrox usable without it famous GTK-based GUI at any LV2 host.
LV2 Dynamic Manifest
Moderators: MattKingUSA, khz
- peter.semiletov
- Established Member
- Posts: 119
- Joined: Thu May 11, 2023 1:09 pm
- Has thanked: 25 times
- Been thanked: 82 times
- Contact:
LV2 Dynamic Manifest
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: LV2 Dynamic Manifest
Be aware that those extension have nothing to do with "create dynamic ports or port values or enum entry's". Those is a extension which allow to create virtual manifest.ttl files during world.load(). By the way most hosts I'm aware of disabled this extension because it tend to lead to crash the host during plugin scan.
What you are looking for is the use of atom parameters. Those allow you to recreate the entry's of a enum or the range of a controller during run time and dismiss the need to fill the lv2:portProperty lv2:enumeration at all.
There is no magic done by GTK in that regard.
If you want to have a look at some source which recreate enum controller entry's during runtime, check out Fluida, for example. It recreate a combobox with entry's each time you load a new soundfont to cover the loaded soundfont. In the ttl file just the parameter is announced, no range, no entry's. I guess that's what you are after.
- peter.semiletov
- Established Member
- Posts: 119
- Joined: Thu May 11, 2023 1:09 pm
- Has thanked: 25 times
- Been thanked: 82 times
- Contact:
Re: LV2 Dynamic Manifest
tramp wrote: ↑Tue Jul 11, 2023 6:28 pmIf you want to have a look at some source which recreate enum controller entry's during runtime, check out Fluida, for example. It recreate a combobox with entry's each time you load a new soundfont to cover the loaded soundfont. In the ttl file just the parameter is announced, no range, no entry's. I guess that's what you are after.
Yes, thanks a lot!!!
Also, to drop GTK, I'm trying libxputty.
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: LV2 Dynamic Manifest
Ha, I've done libxputty to have a replacement for the guitarix LV2 GTK UI's.
If something becomes unclear while using it, just ask, I guess I could help you out then.
- peter.semiletov
- Established Member
- Posts: 119
- Joined: Thu May 11, 2023 1:09 pm
- Has thanked: 25 times
- Been thanked: 82 times
- Contact:
Re: LV2 Dynamic Manifest
Oh, I didn't know that libxputty is your creation! Cool )
Yes, I have some questions. How is better to use it with CMake? Am I need to link static or dynamically? To include libxputty to the source tree or depend on "external" install? (for example, I found libxputty at AUR, but how it spreaded over other distros?)
-
- Established Member
- Posts: 2348
- Joined: Mon Jul 01, 2013 8:13 am
- Has thanked: 9 times
- Been thanked: 468 times
Re: LV2 Dynamic Manifest
peter.semiletov wrote: ↑Wed Jul 12, 2023 1:04 pmYes, I have some questions. How is better to use it with CMake?
Ups, I never used CMake, I always using plain make.
Both is supported, but for plugins I would go for static linking.
peter.semiletov wrote: ↑Wed Jul 12, 2023 1:04 pmTo include libxputty to the source tree or depend on "external" install?
I use it always as a submodule in a git repository. That makes it easy for me to update libxputty when needed.
Code: Select all
git submodule add https://github.com/brummer10/libxputty.git
git submodule update --init
when you checked Fluida, there is a makefile in the top directory which ensure that libxputty was build before the other source get build, so static linking will work flawless.
in the makefile for the project I then could set the path to libxputty.a and the needed include files.
https://github.com/brummer10/Fluida.lv2 ... kefile#L37
and set the needed linker flags
https://github.com/brummer10/Fluida.lv2 ... kefile#L48
- peter.semiletov
- Established Member
- Posts: 119
- Joined: Thu May 11, 2023 1:09 pm
- Has thanked: 25 times
- Been thanked: 82 times
- Contact: