diff options
-rw-r--r-- | libs/ardour/ardour/slavable_automation_control.h | 8 | ||||
-rw-r--r-- | libs/ardour/slavable_automation_control.cc | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/libs/ardour/ardour/slavable_automation_control.h b/libs/ardour/ardour/slavable_automation_control.h index 8827b29f6b..6467dcd6de 100644 --- a/libs/ardour/ardour/slavable_automation_control.h +++ b/libs/ardour/ardour/slavable_automation_control.h @@ -64,7 +64,13 @@ class LIBARDOUR_API SlavableAutomationControl : public AutomationControl int set_state (XMLNode const&, int); XMLNode& get_state(); - bool find_next_event (double now, double end, Evoral::ControlEvent& next_event) const; + bool find_next_event (double n, double e, Evoral::ControlEvent& ev) const + { + Glib::Threads::RWLock::ReaderLock lm (master_lock); + return find_next_event_locked (n, e, ev); + } + + bool find_next_event_locked (double now, double end, Evoral::ControlEvent& next_event) const; protected: diff --git a/libs/ardour/slavable_automation_control.cc b/libs/ardour/slavable_automation_control.cc index 51b2d30004..6df2dd2720 100644 --- a/libs/ardour/slavable_automation_control.cc +++ b/libs/ardour/slavable_automation_control.cc @@ -345,9 +345,8 @@ SlavableAutomationControl::clear_masters () } bool -SlavableAutomationControl::find_next_event (double now, double end, Evoral::ControlEvent& next_event) const +SlavableAutomationControl::find_next_event_locked (double now, double end, Evoral::ControlEvent& next_event) const { - Glib::Threads::RWLock::ReaderLock lm (master_lock); if (_masters.empty()) { return false; } @@ -363,7 +362,7 @@ SlavableAutomationControl::find_next_event (double now, double end, Evoral::Cont boost::shared_ptr<SlavableAutomationControl> sc = boost::dynamic_pointer_cast<SlavableAutomationControl>(ac); - if (sc && sc->find_next_event (now, end, next_event)) { + if (sc && sc->find_next_event_locked (now, end, next_event)) { rv = true; } |