diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/lv2_plugin.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin.h | 1 | ||||
-rw-r--r-- | libs/ardour/lv2_plugin.cc | 13 |
3 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/lv2_plugin.h b/libs/ardour/ardour/lv2_plugin.h index b72b7d605b..a4de7c4ae1 100644 --- a/libs/ardour/ardour/lv2_plugin.h +++ b/libs/ardour/ardour/lv2_plugin.h @@ -56,6 +56,7 @@ class LV2Plugin : public ARDOUR::Plugin, public ARDOUR::Workee framecnt_t signal_latency () const; void set_parameter (uint32_t port, float val); float get_parameter (uint32_t port) const; + std::string get_docs() const; std::string get_parameter_docs(uint32_t which) const; int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const; uint32_t nth_parameter (uint32_t port, bool& ok) const; diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h index bade84341b..069a579ff7 100644 --- a/libs/ardour/ardour/plugin.h +++ b/libs/ardour/ardour/plugin.h @@ -118,6 +118,7 @@ class Plugin : public PBD::StatefulDestructible, public Latent virtual uint32_t parameter_count () const = 0; virtual float default_value (uint32_t port) = 0; virtual float get_parameter(uint32_t which) const = 0; + virtual std::string get_docs() const { return ""; } virtual std::string get_parameter_docs(uint32_t which) const { return ""; } virtual int get_parameter_descriptor (uint32_t which, ParameterDescriptor&) const = 0; diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index bd628e46bd..c6509f0203 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -585,6 +585,19 @@ LV2Plugin::get_parameter(uint32_t which) const } std::string +LV2Plugin::get_docs() const +{ + LilvNodes* comments = lilv_plugin_get_value(_impl->plugin, _world.rdfs_comment); + if (comments) { + const std::string docs(lilv_node_as_string(lilv_nodes_get_first(comments))); + lilv_nodes_free(comments); + return docs; + } + + return ""; +} + +std::string LV2Plugin::get_parameter_docs(uint32_t which) const { LilvNodes* comments = lilv_port_get_value( |