Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new param_list method #7

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add new param_list method #7

wants to merge 2 commits into from

Conversation

Jurrie
Copy link

@Jurrie Jurrie commented Aug 31, 2016

This method can be used to discover the parameters for a specific
plugin.

This method can be used to discover the parameters for a specific
plugin.
@odurc
Copy link
Contributor

odurc commented Sep 1, 2016

Is there any special reason to create a new command for this? All param_* commands already implement autocomplete when you provide the plugin instance.

@Jurrie
Copy link
Author

Jurrie commented Sep 1, 2016

Hi Ricardo,

It's available in interactive mode, but not when communicating using sockets.

I'm trying to build my own hardware effects processor using LV2 plugins. It will be a 19" unit with a display and some buttons to control parameters in the LV2 plugins. For this device, I'd like to use mod-host. So I need build some software that controls the display and buttons; and it needs to be able to query what parameters are available. "param_list" is the first command I need, I'll also need something like "param_detail" that can give me the min/max/current values etc. (Maybe even things like "list" to list loaded LV2 plugins, and others...)

To answer your question: there's probably no special reason for this for the moddevices project. But I thought I'd share this anyway :)

With kind regards,

Jurrie

@falkTX
Copy link
Member

falkTX commented Sep 1, 2016

you should probably do the parsing of plugin data somewhere else.
lv2 meta-data is stored outside of the binary, so using lilv (or python-lilv) you can get all the needed information.

@Jurrie
Copy link
Author

Jurrie commented Sep 1, 2016

Depending on which responsibilities you place on which application (mod-host or my glue-hw-display-to-mod-host), you could be right indeed. However, using a socket connection to mod-host and have it do the lilv stuff is easier for me, as my glue software is probably written in Java.
So this was worth a shot :) However, if you feel that mod-host shouldn't be used to do lilv-library-stuff, then I'll need to think of a way to do this in Java :) It's back to the drawing board for me!

@jofemodo
Copy link

jofemodo commented Nov 2, 2016

In fact, mod-host is doing lilv-library-stuff right now ... why not adding new commands that gives useful information?

@falkTX
Copy link
Member

falkTX commented Nov 3, 2016

Because it's never enough.
Now it's control ranges, then scalepoints, then presets, then designation and properties, then documentation...
There's a lot of stuff involving ports, range is just the beginning.

Also, it's the wrong way to go.
mod-host is for hosting the plugins, not for discovery.
You have lv2ls and lv2info for that.

@Jurrie
Copy link
Author

Jurrie commented Nov 3, 2016

@jofemodo: I have to say that, on second thought, I think I agree with falkTX. My program is using RDF (via Apache Jena) to discover plugin information, and this proves to be very flexible. I can even use queries. It's far more flexible than programming this all in mod-host.

@jofemodo
Copy link

jofemodo commented Nov 3, 2016

OK. I understand the point and the reasons. Perhaps it's better to implement the "discovery" functionality out of mod-host. Anyway, IMHO, there are some important info that could be given by mod-host, like getting the list of running effect-instances, connections, etc ... This is not discovery info ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants