From bbbb874c0318fa4a136431619bf91a939984530c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 8 Feb 2017 18:55:05 +0100 Subject: 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 --- libs/ardour/ardour/automation_control.h | 3 +++ libs/ardour/ardour/control_group.h | 1 + 2 files changed, 4 insertions(+) (limited to 'libs/ardour/ardour') diff --git a/libs/ardour/ardour/automation_control.h b/libs/ardour/ardour/automation_control.h index 158996133c..21c7832996 100644 --- a/libs/ardour/ardour/automation_control.h +++ b/libs/ardour/ardour/automation_control.h @@ -140,6 +140,9 @@ class LIBARDOUR_API AutomationControl change for execution in a realtime context. C++ access control sucks. */ friend class Session; + /* this is what the session invokes */ + void pre_realtime_queue_stuff (double new_value, PBD::Controllable::GroupControlDisposition); + /* this will be invoked in turn on behalf of the group or the control by itself */ virtual void do_pre_realtime_queue_stuff (double new_value) {} private: diff --git a/libs/ardour/ardour/control_group.h b/libs/ardour/ardour/control_group.h index e1b83bb7b4..73ad312d95 100644 --- a/libs/ardour/ardour/control_group.h +++ b/libs/ardour/ardour/control_group.h @@ -63,6 +63,7 @@ class LIBARDOUR_API ControlGroup : public boost::enable_shared_from_this, double val); + virtual void pre_realtime_queue_stuff (double val); bool use_me (PBD::Controllable::GroupControlDisposition gcd) const { switch (gcd) { -- cgit v1.2.3