diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-02-08 18:55:05 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-02-08 18:55:05 +0100 |
commit | bbbb874c0318fa4a136431619bf91a939984530c (patch) | |
tree | 89a2832113495a1b6d3db9f950e6ed8cb04c6f23 /libs/ardour/control_group.cc | |
parent | 234ea15499e71484b4da7ca890b49163f3befca5 (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.cc | 10 |
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 (); |