Allow group gain sharing + VCA again
[ardour.git] / libs / ardour / automation_control.cc
index ffff120a239a7e9602833993c05ff211107374fe..055c000bc9b9fec97a0a74389fa48cd19c206bfd 100644 (file)
@@ -31,6 +31,7 @@
 #include "ardour/event_type_map.h"
 #include "ardour/session.h"
 #include "ardour/selection.h"
+#include "ardour/value_as_string.h"
 
 #include "pbd/i18n.h"
 
@@ -91,6 +92,13 @@ AutomationControl::get_value() const
        return Control::get_double (from_list, _session.transport_frame());
 }
 
+double
+AutomationControl::get_save_value() const
+{
+       /* save user-value, not incl masters */
+       return Control::get_double ();
+}
+
 void
 AutomationControl::pre_realtime_queue_stuff (double val, PBD::Controllable::GroupControlDisposition gcd)
 {
@@ -206,6 +214,7 @@ AutomationControl::set_automation_state (AutoState as)
 
                alist()->set_automation_state (as);
                if (_desc.toggled) {
+                       Changed (false, Controllable::NoGroup); // notify slaves, update boolean masters
                        return;  // No watch for boolean automation
                }
 
@@ -338,6 +347,12 @@ AutomationControl::interface_to_internal (double val) const
        return val;
 }
 
+std::string
+AutomationControl::get_user_string () const
+{
+       return ARDOUR::value_as_string (_desc, get_value());
+}
+
 void
 AutomationControl::set_group (boost::shared_ptr<ControlGroup> cg)
 {