summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/plugin.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-01 23:29:10 -0400
committerDavid Robillard <d@drobilla.net>2014-11-02 02:10:24 -0500
commit8a128b33d38172ae525ac798c53bc105bc4e2c64 (patch)
tree226459f2fec72a9717d12f190d354f72175607dc /libs/ardour/ardour/plugin.h
parent6dfb11c2d08201f1a27818955707590b762f5a40 (diff)
Automation of LV2 plugin properties.
Work towards ParameterDescriptor being used more universally to describe control characteristics.
Diffstat (limited to 'libs/ardour/ardour/plugin.h')
-rw-r--r--libs/ardour/ardour/plugin.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/ardour/ardour/plugin.h b/libs/ardour/ardour/plugin.h
index dc7dbf68e1..be109885d7 100644
--- a/libs/ardour/ardour/plugin.h
+++ b/libs/ardour/ardour/plugin.h
@@ -231,6 +231,8 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
void set_cycles (uint32_t c) { _cycles = c; }
cycles_t cycles() const { return _cycles; }
+ typedef std::map<uint32_t, ParameterDescriptor> PropertyDescriptors;
+
/** Get a descrption of all properties supported by this plugin.
*
* Properties are distinct from parameters in that they are potentially
@@ -239,7 +241,15 @@ class LIBARDOUR_API Plugin : public PBD::StatefulDestructible, public Latent
* For LV2 plugins, properties are implemented by sending/receiving set/get
* messages to/from the plugin via event ports.
*/
- virtual void get_supported_properties(std::vector<ParameterDescriptor>& descs) {}
+ virtual const PropertyDescriptors& get_supported_properties() const {
+ static const PropertyDescriptors nothing;
+ return nothing;
+ }
+
+ virtual const ParameterDescriptor& get_property_descriptor(uint32_t id) const {
+ static const ParameterDescriptor nothing;
+ return nothing;
+ }
/** Set a property from the UI.
*