summaryrefslogtreecommitdiff
path: root/libs/ardour/slavable_automation_control.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-01-21 15:01:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2017-01-21 15:01:16 +0000
commit2f530d4fd86b00757a3cb15765b59d3976bf5011 (patch)
tree38cd2e93283b6ad266472c5302184e3d8edfa05e /libs/ardour/slavable_automation_control.cc
parentda081e01087ade019526c690818a4aedc812237d (diff)
SlavableAutomationControl::get_value(), if doing automation playback, should still scale the returned value by the masters' value(s)
Diffstat (limited to 'libs/ardour/slavable_automation_control.cc')
-rw-r--r--libs/ardour/slavable_automation_control.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/slavable_automation_control.cc b/libs/ardour/slavable_automation_control.cc
index dc7e59c387..31e81a2931 100644
--- a/libs/ardour/slavable_automation_control.cc
+++ b/libs/ardour/slavable_automation_control.cc
@@ -88,11 +88,11 @@ SlavableAutomationControl::get_value() const
{
bool from_list = _list && boost::dynamic_pointer_cast<AutomationList>(_list)->automation_playback();
+ Glib::Threads::RWLock::ReaderLock lm (master_lock);
if (!from_list) {
- Glib::Threads::RWLock::ReaderLock lm (master_lock);
return get_value_locked ();
} else {
- return Control::get_double (from_list, _session.transport_frame());
+ return get_masters_value_locked () * Control::get_double (from_list, _session.transport_frame());
}
}