summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-10-13 17:29:22 +0000
committerDavid Robillard <d@drobilla.net>2008-10-13 17:29:22 +0000
commitb3634a723d98baf19e310ef7dba52534963cf4e8 (patch)
tree47cda70f2e55d350dc5a65ee1dee7df0b535eb25 /libs
parent2065092d256eea0aa02ca32c27e91750b0b5f94e (diff)
Fix wrongly exposed set_parameter methods on PluginInsert.
Have plugin GUI stuff twiddle plugin parameters correctly. git-svn-id: svn://localhost/ardour2/branches/3.0@3957 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/automatable.h6
-rw-r--r--libs/ardour/ardour/panner.h8
-rw-r--r--libs/ardour/ardour/plugin_insert.h10
-rw-r--r--libs/ardour/automatable.cc12
4 files changed, 27 insertions, 9 deletions
diff --git a/libs/ardour/ardour/automatable.h b/libs/ardour/ardour/automatable.h
index 8cfadec638..fc61e2200d 100644
--- a/libs/ardour/ardour/automatable.h
+++ b/libs/ardour/ardour/automatable.h
@@ -50,6 +50,12 @@ public:
boost::shared_ptr<Evoral::Control>
control_factory(const Evoral::Parameter& id);
+ boost::shared_ptr<AutomationControl>
+ automation_control (const Evoral::Parameter& id, bool create_if_missing=false);
+
+ boost::shared_ptr<const AutomationControl>
+ automation_control (const Evoral::Parameter& id) const;
+
virtual void add_control(boost::shared_ptr<Evoral::Control>);
virtual void automation_snapshot(nframes_t now, bool force);
diff --git a/libs/ardour/ardour/panner.h b/libs/ardour/ardour/panner.h
index 7019f5e5ac..f523f431c4 100644
--- a/libs/ardour/ardour/panner.h
+++ b/libs/ardour/ardour/panner.h
@@ -290,12 +290,12 @@ class Panner : public Processor
float get_value (void) const;
};
- boost::shared_ptr<AutomationControl> pan_control ( int id, int chan=0 ) {
- return boost::dynamic_pointer_cast<AutomationControl>( control( Evoral::Parameter (PanAutomation, chan, id) ));
+ boost::shared_ptr<AutomationControl> pan_control (int id, int chan=0) {
+ return automation_control(Evoral::Parameter (PanAutomation, chan, id));
}
- boost::shared_ptr<const AutomationControl> pan_control ( int id, int chan=0 ) const {
- return boost::dynamic_pointer_cast<const AutomationControl>( control( Evoral::Parameter (PanAutomation, chan, id) ));
+ boost::shared_ptr<const AutomationControl> pan_control (int id, int chan=0) const {
+ return automation_control(Evoral::Parameter (PanAutomation, chan, id));
}
private:
diff --git a/libs/ardour/ardour/plugin_insert.h b/libs/ardour/ardour/plugin_insert.h
index 25a9e52e88..d83b41d1e0 100644
--- a/libs/ardour/ardour/plugin_insert.h
+++ b/libs/ardour/ardour/plugin_insert.h
@@ -74,11 +74,6 @@ class PluginInsert : public Processor
bool is_generator() const;
- void set_parameter (Evoral::Parameter param, float val);
- float get_parameter (Evoral::Parameter param);
-
- float default_parameter_value (const Evoral::Parameter& param);
-
struct PluginControl : public AutomationControl
{
PluginControl (PluginInsert* p, const Evoral::Parameter &param,
@@ -111,6 +106,11 @@ class PluginInsert : public Processor
void parameter_changed (Evoral::Parameter, float);
+ void set_parameter (Evoral::Parameter param, float val);
+ float get_parameter (Evoral::Parameter param);
+
+ float default_parameter_value (const Evoral::Parameter& param);
+
std::vector<boost::shared_ptr<Plugin> > _plugins;
void automation_run (BufferSet& bufs, nframes_t nframes, nframes_t offset);
diff --git a/libs/ardour/automatable.cc b/libs/ardour/automatable.cc
index c145c3c501..6daeb99669 100644
--- a/libs/ardour/automatable.cc
+++ b/libs/ardour/automatable.cc
@@ -417,3 +417,15 @@ Automatable::control_factory(const Evoral::Parameter& param)
return boost::shared_ptr<Evoral::Control>(control);
}
+boost::shared_ptr<AutomationControl>
+Automatable::automation_control (const Evoral::Parameter& id, bool create)
+{
+ return boost::dynamic_pointer_cast<AutomationControl>(Evoral::ControlSet::control(id, create));
+}
+
+boost::shared_ptr<const AutomationControl>
+Automatable::automation_control (const Evoral::Parameter& id) const
+{
+ return boost::dynamic_pointer_cast<const AutomationControl>(Evoral::ControlSet::control(id));
+}
+