summaryrefslogtreecommitdiff
path: root/libs/ardour/control_group.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-02-08 18:55:05 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-02-08 18:55:05 +0100
commitbbbb874c0318fa4a136431619bf91a939984530c (patch)
tree89a2832113495a1b6d3db9f950e6ed8cb04c6f23 /libs/ardour/control_group.cc
parent234ea15499e71484b4da7ca890b49163f3befca5 (diff)
an automation control that has to do things before its value is set in an RT context should potentially tell its ControlGroup
This fixes record-enable controls in a group failing generate a call to the required stuff for tracks (moving meter position, preparing diskstream) #7213
Diffstat (limited to 'libs/ardour/control_group.cc')
-rw-r--r--libs/ardour/control_group.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/control_group.cc b/libs/ardour/control_group.cc
index 51a1515c6a..5f65122a3d 100644
--- a/libs/ardour/control_group.cc
+++ b/libs/ardour/control_group.cc
@@ -153,6 +153,16 @@ ControlGroup::add_control (boost::shared_ptr<AutomationControl> ac)
}
void
+ControlGroup::pre_realtime_queue_stuff (double val)
+{
+ Glib::Threads::RWLock::ReaderLock lm (controls_lock);
+
+ for (ControlMap::iterator c = _controls.begin(); c != _controls.end(); ++c) {
+ c->second->do_pre_realtime_queue_stuff (val);
+ }
+}
+
+void
ControlGroup::set_group_value (boost::shared_ptr<AutomationControl> control, double val)
{
double old = control->get_value ();