Set session dirty when pans change (#3807).
authorCarl Hetherington <carl@carlh.net>
Tue, 1 Mar 2011 21:40:01 +0000 (21:40 +0000)
committerCarl Hetherington <carl@carlh.net>
Tue, 1 Mar 2011 21:40:01 +0000 (21:40 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@9010 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/ardour/pannable.h
libs/ardour/pannable.cc

index c30bd0a0686402c153af56799e3440588351b2cc..2a7675cf750af54fe1b76c7bcf6da77d5ec2bffd 100644 (file)
@@ -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 
index b4744d5658e0bdedd652e2cae2e87d3e5e739f71..33bc13fb878d87e4099e6221827710fe34ae116b 100644 (file)
@@ -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 ()
@@ -92,6 +98,12 @@ Pannable::set_panner (boost::shared_ptr<Panner> p)
         _panner = p;
 }
 
+void
+Pannable::value_changed ()
+{
+       _session.set_dirty ();
+}
+
 void
 Pannable::set_automation_state (AutoState state)
 {