summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/slavable_automation_control.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-02-06 16:18:09 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-02-06 16:49:08 +0100
commitedd1061c3d8822ab586e2bbc80894e125b521a52 (patch)
tree37e171eb88ca33ade64cf07cbf98bb518a6c0f70 /libs/ardour/ardour/slavable_automation_control.h
parent4161a602449ebfff5ff5a9327807100f799e3dd3 (diff)
save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state
Diffstat (limited to 'libs/ardour/ardour/slavable_automation_control.h')
-rw-r--r--libs/ardour/ardour/slavable_automation_control.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/ardour/ardour/slavable_automation_control.h b/libs/ardour/ardour/slavable_automation_control.h
index 7e46dd5a74..857a8956e1 100644
--- a/libs/ardour/ardour/slavable_automation_control.h
+++ b/libs/ardour/ardour/slavable_automation_control.h
@@ -36,9 +36,11 @@ class LIBARDOUR_API SlavableAutomationControl : public AutomationControl
PBD::Controllable::Flag flags=PBD::Controllable::Flag (0)
);
+ ~SlavableAutomationControl ();
+
double get_value () const;
- void add_master (boost::shared_ptr<AutomationControl>);
+ void add_master (boost::shared_ptr<AutomationControl>, bool loading);
void remove_master (boost::shared_ptr<AutomationControl>);
void clear_masters ();
bool slaved_to (boost::shared_ptr<AutomationControl>) const;
@@ -57,6 +59,11 @@ class LIBARDOUR_API SlavableAutomationControl : public AutomationControl
PBD::Signal0<void> MasterStatusChange;
+ void use_saved_master_ratios ();
+
+ int set_state (XMLNode const&, int);
+ XMLNode& get_state();
+
protected:
class MasterRecord {
@@ -111,7 +118,7 @@ class LIBARDOUR_API SlavableAutomationControl : public AutomationControl
virtual void pre_remove_master (boost::shared_ptr<AutomationControl>) {}
virtual void post_add_master (boost::shared_ptr<AutomationControl>) {}
-
+ XMLNode* _masters_node; /* used to store master ratios in ::set_state() for later use */
};
} // namespace ARDOUR