X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fgain_control.h;h=431342dab36e738b9399eca90e8b9d40a5999f17;hb=1b2a64c391d7f4a81dda85bdbd063fb80329e498;hp=9a79a8046f50053affd575e39e99cc1b28f37f8b;hpb=405f9fc712836937bf44dba48c64c1741bc4101c;p=ardour.git diff --git a/libs/ardour/ardour/gain_control.h b/libs/ardour/ardour/gain_control.h index 9a79a8046f..431342dab3 100644 --- a/libs/ardour/ardour/gain_control.h +++ b/libs/ardour/ardour/gain_control.h @@ -20,31 +20,25 @@ #define __ardour_gain_control_h__ #include -#include #include -#include #include "pbd/controllable.h" #include "evoral/Parameter.hpp" -#include "ardour/automation_control.h" +#include "ardour/slavable_automation_control.h" #include "ardour/libardour_visibility.h" namespace ARDOUR { class Session; -class LIBARDOUR_API GainControl : public AutomationControl { +class LIBARDOUR_API GainControl : public SlavableAutomationControl { public: GainControl (Session& session, const Evoral::Parameter ¶m, boost::shared_ptr al = boost::shared_ptr()); - void set_value (double val, PBD::Controllable::GroupControlDisposition group_override); - void set_value_unchecked (double); - double get_value () const; - double internal_to_interface (double) const; double interface_to_internal (double) const; double internal_to_user (double) const; @@ -54,18 +48,7 @@ class LIBARDOUR_API GainControl : public AutomationControl { double lower_db; double range_db; - void add_master (boost::shared_ptr); - void remove_master (boost::shared_ptr); - void clear_masters (); - - private: - void _set_value (double val, PBD::Controllable::GroupControlDisposition group_override); - gain_t get_master_gain () const; - - mutable Glib::Threads::Mutex master_lock; - - typedef std::list > Masters; - Masters _masters; + void inc_gain (gain_t); }; } /* namespace */