diff options
-rw-r--r-- | libs/ardour/ardour/pannable.h | 3 | ||||
-rw-r--r-- | libs/ardour/pannable.cc | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/ardour/ardour/pannable.h b/libs/ardour/ardour/pannable.h index c30bd0a068..2a7675cf75 100644 --- a/libs/ardour/ardour/pannable.h +++ b/libs/ardour/ardour/pannable.h @@ -91,6 +91,9 @@ class Pannable : public PBD::Stateful, public Automatable, public SessionHandleR uint32_t _responding_to_control_auto_state_change; void control_auto_state_changed (AutoState); + + private: + void value_changed (); }; } // namespace diff --git a/libs/ardour/pannable.cc b/libs/ardour/pannable.cc index b4744d5658..33bc13fb87 100644 --- a/libs/ardour/pannable.cc +++ b/libs/ardour/pannable.cc @@ -58,6 +58,12 @@ Pannable::Pannable (Session& s) pan_width_control->alist()->automation_state_changed.connect_same_thread (*this, boost::bind (&Pannable::control_auto_state_changed, this, _1)); pan_frontback_control->alist()->automation_state_changed.connect_same_thread (*this, boost::bind (&Pannable::control_auto_state_changed, this, _1)); pan_lfe_control->alist()->automation_state_changed.connect_same_thread (*this, boost::bind (&Pannable::control_auto_state_changed, this, _1)); + + pan_azimuth_control->Changed.connect_same_thread (*this, boost::bind (&Pannable::value_changed, this)); + pan_elevation_control->Changed.connect_same_thread (*this, boost::bind (&Pannable::value_changed, this)); + pan_width_control->Changed.connect_same_thread (*this, boost::bind (&Pannable::value_changed, this)); + pan_frontback_control->Changed.connect_same_thread (*this, boost::bind (&Pannable::value_changed, this)); + pan_lfe_control->Changed.connect_same_thread (*this, boost::bind (&Pannable::value_changed, this)); } Pannable::~Pannable () @@ -93,6 +99,12 @@ Pannable::set_panner (boost::shared_ptr<Panner> p) } void +Pannable::value_changed () +{ + _session.set_dirty (); +} + +void Pannable::set_automation_state (AutoState state) { if (state != _auto_state) { |