summaryrefslogtreecommitdiff
path: root/libs/ardour/solo_control.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-05-22 09:47:40 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:44 -0400
commit66c7ef1fb5a8bf5b6dc6fb875bf3ccebe2f1c366 (patch)
tree86246c45e21f3465b91a297906a22258dfce5d5f /libs/ardour/solo_control.cc
parentfefbc4df01127ffc455d271f070ac7970e6caa4c (diff)
no-op: explanatory comments
Diffstat (limited to 'libs/ardour/solo_control.cc')
-rw-r--r--libs/ardour/solo_control.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/solo_control.cc b/libs/ardour/solo_control.cc
index 9cf3c20599..a961fa0b1f 100644
--- a/libs/ardour/solo_control.cc
+++ b/libs/ardour/solo_control.cc
@@ -256,15 +256,22 @@ SoloControl::master_changed (bool /*from self*/, GroupControlDisposition, boost:
_transition_into_solo = 0;
+ /* Notice that we call get_boolean_masters() BEFORE we call
+ * update_boolean_masters_records(), in order to know what
+ * our master state was BEFORE it gets changed.
+ */
+
if (m->get_value()) {
/* this master is now enabled */
if (!self_soloed() && get_boolean_masters() == 0) {
+ /* not self-soloed, wasn't soloed by masters before */
send_signal = true;
_transition_into_solo = 1;
}
} else {
if (!self_soloed() && get_boolean_masters() == 1) {
+ /* not self-soloed, soloed by just 1 master before */
_transition_into_solo = -1;
send_signal = true;
}