From d07ed3b04fc0daecbdb6e3e81cac934fca91358f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 2 Mar 2016 23:43:42 -0500 Subject: [PATCH] add GainControl::slaved() predicate --- libs/ardour/ardour/gain_control.h | 1 + libs/ardour/gain_control.cc | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/libs/ardour/ardour/gain_control.h b/libs/ardour/ardour/gain_control.h index 8dea7a7750..7a4524c34c 100644 --- a/libs/ardour/ardour/gain_control.h +++ b/libs/ardour/ardour/gain_control.h @@ -58,6 +58,7 @@ class LIBARDOUR_API GainControl : public AutomationControl { void remove_master (boost::shared_ptr); void clear_masters (); bool slaved_to (boost::shared_ptr) const; + bool slaved () const; std::vector masters () const; PBD::Signal0 VCAStatusChange; diff --git a/libs/ardour/gain_control.cc b/libs/ardour/gain_control.cc index d655b700b4..29b9146a0a 100644 --- a/libs/ardour/gain_control.cc +++ b/libs/ardour/gain_control.cc @@ -227,6 +227,13 @@ GainControl::slaved_to (boost::shared_ptr vca) const return find (_masters.begin(), _masters.end(), vca->control()) != _masters.end(); } +bool +GainControl::slaved () const +{ + Glib::Threads::Mutex::Lock lm (master_lock); + return !_masters.empty(); +} + XMLNode& GainControl::get_state () {