summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/automation_control.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-04-19 13:01:57 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:41 -0400
commit01aefd236a7c87fa1798334b579be28eaa832afd (patch)
tree3c5143f3cc3df0d7e12cbb70fb9c4dc87f759921 /libs/ardour/ardour/automation_control.h
parent6de4953be8dc5cd413b405d4801f086567923965 (diff)
move SlavableAutomationControl into its own header
Diffstat (limited to 'libs/ardour/ardour/automation_control.h')
-rw-r--r--libs/ardour/ardour/automation_control.h58
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