summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/solo_control.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-04-19 15:42:50 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:41 -0400
commit9e70384ccfc81adc76910fd5365668a47f70d9c8 (patch)
treef2067ac2093709a2a1f4c3fef9c163371fc6e4f6 /libs/ardour/ardour/solo_control.h
parent0ef0492cbb96987c44bf99a5f89630afce6b4376 (diff)
fix solo control to use VCA logic as worked out for mute
Diffstat (limited to 'libs/ardour/ardour/solo_control.h')
-rw-r--r--libs/ardour/ardour/solo_control.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/ardour/solo_control.h b/libs/ardour/ardour/solo_control.h
index aefd6abb79..78ce7c56be 100644
--- a/libs/ardour/ardour/solo_control.h
+++ b/libs/ardour/ardour/solo_control.h
@@ -61,7 +61,7 @@ class LIBARDOUR_API SoloControl : public SlavableAutomationControl
*/
bool soloed_by_others () const {
- return _soloed_by_others_downstream || _soloed_by_others_downstream;
+ return _soloed_by_others_downstream || _soloed_by_others_downstream || get_masters_value ();
}
uint32_t soloed_by_others_upstream () const {
return _soloed_by_others_upstream;
@@ -81,6 +81,9 @@ class LIBARDOUR_API SoloControl : public SlavableAutomationControl
protected:
void actually_set_value (double, PBD::Controllable::GroupControlDisposition group_override);
+ void master_changed (bool from_self, GroupControlDisposition, boost::shared_ptr<AutomationControl> m);
+ void pre_remove_master (boost::shared_ptr<AutomationControl>);
+ void post_add_master (boost::shared_ptr<AutomationControl>);
private:
Soloable& _soloable;