diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/automatable.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/panner.h | 8 | ||||
-rw-r--r-- | libs/ardour/ardour/plugin_insert.h | 10 | ||||
-rw-r--r-- | libs/ardour/automatable.cc | 12 |
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 ¶m, @@ -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)); +} + |