summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-04-15 00:38:03 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:41 -0400
commit6de4953be8dc5cd413b405d4801f086567923965 (patch)
tree4e428efc0668e9dc78d8cfee407042b7f976742d /libs/ardour/ardour
parent7d493b091ae2741db39a65cc62e9d17ef57d7606 (diff)
a variety of changes that get closer to correctly functioning behaviour for VCA solo+mute (BUT ARE NOT DONE YET)
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/automation_control.h4
-rw-r--r--libs/ardour/ardour/gain_control.h2
-rw-r--r--libs/ardour/ardour/mute_control.h2
-rw-r--r--libs/ardour/ardour/mute_master.h2
-rw-r--r--libs/ardour/ardour/route.h3
5 files changed, 6 insertions, 7 deletions
diff --git a/libs/ardour/ardour/automation_control.h b/libs/ardour/ardour/automation_control.h
index f576cb52c0..6195f90a68 100644
--- a/libs/ardour/ardour/automation_control.h
+++ b/libs/ardour/ardour/automation_control.h
@@ -152,8 +152,6 @@ class SlavableAutomationControl : public AutomationControl
boost::shared_ptr<ARDOUR::AutomationList> l=boost::shared_ptr<ARDOUR::AutomationList>(),
const std::string& name="");
- ~SlavableAutomationControl ();
-
double get_value () const;
void add_master (boost::shared_ptr<AutomationControl>);
@@ -200,7 +198,7 @@ class SlavableAutomationControl : public 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);
};
diff --git a/libs/ardour/ardour/gain_control.h b/libs/ardour/ardour/gain_control.h
index f68ec00452..32d1ad1229 100644
--- a/libs/ardour/ardour/gain_control.h
+++ b/libs/ardour/ardour/gain_control.h
@@ -59,8 +59,6 @@ class LIBARDOUR_API GainControl : public SlavableAutomationControl {
void vcas_loaded();
void recompute_masters_ratios (double val);
-
- void actually_set_value (double val, PBD::Controllable::GroupControlDisposition group_override);
};
} /* namespace */
diff --git a/libs/ardour/ardour/mute_control.h b/libs/ardour/ardour/mute_control.h
index 8e5e3fd27a..f7a7814f00 100644
--- a/libs/ardour/ardour/mute_control.h
+++ b/libs/ardour/ardour/mute_control.h
@@ -53,6 +53,7 @@ class LIBARDOUR_API MuteControl : public SlavableAutomationControl
*/
bool muted () const;
+ bool muted_by_self () const;
bool muted_by_others_soloing () const;
bool muted_by_others () const;
@@ -61,6 +62,7 @@ class LIBARDOUR_API MuteControl : public SlavableAutomationControl
MuteMaster::MutePoint mute_points () const;
protected:
+ void master_changed (bool, PBD::Controllable::GroupControlDisposition);
void actually_set_value (double, PBD::Controllable::GroupControlDisposition group_override);
private:
diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h
index d147a58771..d8b2bf0021 100644
--- a/libs/ardour/ardour/mute_master.h
+++ b/libs/ardour/ardour/mute_master.h
@@ -70,7 +70,7 @@ class LIBARDOUR_API MuteMaster : public SessionHandleRef, public PBD::Stateful
void set_solo_ignore (bool yn) { _solo_ignore = yn; }
void mod_muted_by_others (int32_t delta);
- bool muted_by_others () const { return _muted_by_others; }
+ int32_t muted_by_others () const { return _muted_by_others; }
PBD::Signal0<void> MutePointChanged;
diff --git a/libs/ardour/ardour/route.h b/libs/ardour/ardour/route.h
index 6c0380963d..9f66b95b6c 100644
--- a/libs/ardour/ardour/route.h
+++ b/libs/ardour/ardour/route.h
@@ -460,8 +460,9 @@ public:
bool can_be_muted_by_others () const { return !is_master(); }
bool muted () const { return _mute_control->muted(); }
+ bool muted_by_others () const { return _mute_control->muted_by_others(); }
+ bool muted_by_self () const { return _mute_control->muted_by_self(); }
bool muted_by_others_soloing () const;
- bool muted_by_others () const;
boost::shared_ptr<SoloIsolateControl> solo_isolate_control() const {
return _solo_isolate_control;