summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/automation_control.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/automation_control.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/automation_control.h')
-rw-r--r--libs/ardour/ardour/automation_control.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/libs/ardour/ardour/automation_control.h b/libs/ardour/ardour/automation_control.h
index 3603ea2e72..639c5b5287 100644
--- a/libs/ardour/ardour/automation_control.h
+++ b/libs/ardour/ardour/automation_control.h
@@ -29,6 +29,7 @@
#include "ardour/libardour_visibility.h"
#include "ardour/automation_list.h"
+#include "ardour/parameter_descriptor.h"
namespace ARDOUR {
@@ -42,11 +43,12 @@ class LIBARDOUR_API AutomationControl : public PBD::Controllable, public Evoral:
{
public:
AutomationControl(ARDOUR::Session&,
- const Evoral::Parameter& parameter,
- boost::shared_ptr<ARDOUR::AutomationList> l=boost::shared_ptr<ARDOUR::AutomationList>(),
- const std::string& name="");
+ const Evoral::Parameter& parameter,
+ const ParameterDescriptor& desc,
+ boost::shared_ptr<ARDOUR::AutomationList> l=boost::shared_ptr<ARDOUR::AutomationList>(),
+ const std::string& name="");
- ~AutomationControl ();
+ ~AutomationControl ();
boost::shared_ptr<AutomationList> alist() const {
return boost::dynamic_pointer_cast<AutomationList>(_list);
@@ -78,16 +80,20 @@ public:
void set_value (double);
double get_value () const;
- double lower() const { return parameter().min(); }
- double upper() const { return parameter().max(); }
- double normal() const { return parameter().normal(); }
- bool toggled() const { return parameter().toggled(); }
+ double lower() const { return _desc.lower; }
+ double upper() const { return _desc.upper; }
+ double normal() const { return _desc.normal; }
+ bool toggled() const { return _desc.toggled; }
+
+ const ParameterDescriptor& desc() const { return _desc; }
const ARDOUR::Session& session() const { return _session; }
protected:
ARDOUR::Session& _session;
+
+ const ParameterDescriptor _desc;
};