NO-OP: whitespace
[ardour.git] / libs / ardour / automatable.cc
index 00dcdec8f06338758a8e9911b075575d03763f49..417110e4331e90a27b7c0b211b708b02eb5ea493 100644 (file)
@@ -69,12 +69,9 @@ Automatable::Automatable (const Automatable& other)
 
 Automatable::~Automatable ()
 {
-       {
-               Glib::Threads::Mutex::Lock lm (_control_lock);
-
-               for (Controls::const_iterator li = _controls.begin(); li != _controls.end(); ++li) {
-                       boost::dynamic_pointer_cast<AutomationControl>(li->second)->drop_references ();
-               }
+       Glib::Threads::Mutex::Lock lm (_control_lock);
+       for (Controls::const_iterator li = _controls.begin(); li != _controls.end(); ++li) {
+               boost::dynamic_pointer_cast<AutomationControl>(li->second)->drop_references ();
        }
 }
 
@@ -542,12 +539,6 @@ Automatable::clear_controls ()
        ControlSet::clear_controls ();
 }
 
-string
-Automatable::value_as_string (boost::shared_ptr<const AutomationControl> ac) const
-{
-       return ARDOUR::value_as_string(ac->desc(), ac->get_value());
-}
-
 bool
 Automatable::find_next_event (double now, double end, Evoral::ControlEvent& next_event, bool only_active) const
 {
@@ -563,6 +554,13 @@ Automatable::find_next_event (double now, double end, Evoral::ControlEvent& next
                        continue;
                }
 
+               boost::shared_ptr<SlavableAutomationControl> sc
+                       = boost::dynamic_pointer_cast<SlavableAutomationControl>(li->second);
+
+               if (sc) {
+                       sc->find_next_event (now, end, next_event);
+               }
+
                Evoral::ControlList::const_iterator i;
                boost::shared_ptr<const Evoral::ControlList> alist (li->second->list());
                Evoral::ControlEvent cp (now, 0.0f);