diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-04-19 13:01:57 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:41 -0400 |
commit | 01aefd236a7c87fa1798334b579be28eaa832afd (patch) | |
tree | 3c5143f3cc3df0d7e12cbb70fb9c4dc87f759921 /libs/ardour/ardour/automation_control.h | |
parent | 6de4953be8dc5cd413b405d4801f086567923965 (diff) |
move SlavableAutomationControl into its own header
Diffstat (limited to 'libs/ardour/ardour/automation_control.h')
-rw-r--r-- | libs/ardour/ardour/automation_control.h | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/libs/ardour/ardour/automation_control.h b/libs/ardour/ardour/automation_control.h index 6195f90a68..ecc16cb134 100644 --- a/libs/ardour/ardour/automation_control.h +++ b/libs/ardour/ardour/automation_control.h @@ -143,64 +143,6 @@ class LIBARDOUR_API AutomationControl void set_group (boost::shared_ptr<ControlGroup>); }; -class SlavableAutomationControl : public AutomationControl -{ - public: - SlavableAutomationControl(ARDOUR::Session&, - const Evoral::Parameter& parameter, - const ParameterDescriptor& desc, - boost::shared_ptr<ARDOUR::AutomationList> l=boost::shared_ptr<ARDOUR::AutomationList>(), - const std::string& name=""); - - double get_value () const; - - void add_master (boost::shared_ptr<AutomationControl>); - void remove_master (boost::shared_ptr<AutomationControl>); - void clear_masters (); - bool slaved_to (boost::shared_ptr<AutomationControl>) const; - bool slaved () const; - double get_masters_value () const { - Glib::Threads::RWLock::ReaderLock lm (master_lock); - return get_masters_value_locked (); - } - - std::vector<PBD::ID> masters () const; - - PBD::Signal0<void> MasterStatusChange; - - protected: - - class MasterRecord { - public: - MasterRecord (boost::shared_ptr<AutomationControl> gc, double r) - : _master (gc) - , _ratio (r) - {} - - boost::shared_ptr<AutomationControl> master() const { return _master; } - double ratio () const { return _ratio; } - void reset_ratio (double r) { _ratio = r; } - - PBD::ScopedConnection connection; - - private: - boost::shared_ptr<AutomationControl> _master; - double _ratio; - - }; - - mutable Glib::Threads::RWLock master_lock; - typedef std::map<PBD::ID,MasterRecord> Masters; - Masters _masters; - PBD::ScopedConnectionList masters_connections; - virtual void master_changed (bool from_self, GroupControlDisposition gcd); - void master_going_away (boost::weak_ptr<AutomationControl>); - virtual void recompute_masters_ratios (double val) { /* do nothing by default */} - virtual double get_masters_value_locked () const; - double get_value_locked() const; - void actually_set_value (double val, PBD::Controllable::GroupControlDisposition group_override); -}; - } // namespace ARDOUR |