summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/slavable_automation_control.h8
-rw-r--r--libs/ardour/slavable_automation_control.cc5
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;
}