summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-01-21 12:04:20 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-01-22 11:58:31 -0500
commit23794eca5b4c352709e9054a9f32cab01228af25 (patch)
tree80c4e6fd563726cfe9cadbb672d81e6476a33858
parent9e5b7db89f381c70232fab35dc21fd885863f998 (diff)
rename Controllable::WholeGroup => InverseGroup to reflect real intent.
Add logic to RouteGroupMember::use_group() to implement the real intent of InverseGroup
-rw-r--r--gtk2_ardour/route_ui.cc8
-rw-r--r--libs/ardour/route_group_member.cc7
-rw-r--r--libs/ardour/session.cc2
-rw-r--r--libs/pbd/enums.cc2
-rw-r--r--libs/pbd/pbd/controllable.h2
5 files changed, 11 insertions, 10 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index ddba45b73f..a1a65750d1 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -426,7 +426,7 @@ RouteUI::mute_press (GdkEventButton* ev)
}
DisplaySuspender ds;
- _session->set_mute (rl, !_route->muted(), Session::rt_cleanup, Controllable::WholeGroup);
+ _session->set_mute (rl, !_route->muted(), Session::rt_cleanup, Controllable::InverseGroup);
}
} else {
@@ -620,9 +620,9 @@ RouteUI::solo_press(GdkEventButton* ev)
DisplaySuspender ds;
if (Config->get_solo_control_is_listen_control()) {
- _session->set_listen (rl, !_route->listening_via_monitor(), Session::rt_cleanup, Controllable::WholeGroup);
+ _session->set_listen (rl, !_route->listening_via_monitor(), Session::rt_cleanup, Controllable::InverseGroup);
} else {
- _session->set_solo (rl, !_route->self_soloed(), Session::rt_cleanup, Controllable::WholeGroup);
+ _session->set_solo (rl, !_route->self_soloed(), Session::rt_cleanup, Controllable::InverseGroup);
}
}
@@ -735,7 +735,7 @@ RouteUI::rec_enable_press(GdkEventButton* ev)
}
DisplaySuspender ds;
- _session->set_record_enabled (rl, !_route->record_enabled(), Session::rt_cleanup, Controllable::WholeGroup);
+ _session->set_record_enabled (rl, !_route->record_enabled(), Session::rt_cleanup, Controllable::InverseGroup);
}
} else if (Keyboard::is_context_menu_event (ev)) {
diff --git a/libs/ardour/route_group_member.cc b/libs/ardour/route_group_member.cc
index 6ab2ade21e..d0701f57da 100644
--- a/libs/ardour/route_group_member.cc
+++ b/libs/ardour/route_group_member.cc
@@ -40,7 +40,8 @@ bool
RouteGroupMember::use_group (PBD::Controllable::GroupControlDisposition gcd, bool (RouteGroup::*predicate)(void) const) const
{
return (gcd != PBD::Controllable::NoGroup) &&
- (_route_group &&
- ((gcd == PBD::Controllable::WholeGroup) ||
- (_route_group->is_active() && (_route_group->*predicate)())));
+ _route_group &&
+ (_route_group->*predicate)() &&
+ (((_route_group->is_active()) && (gcd != PBD::Controllable::InverseGroup)) ||
+ ((!_route_group->is_active()) && (gcd == PBD::Controllable::InverseGroup)));
}
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 70a62e5b75..6c25270421 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -3673,7 +3673,7 @@ Session::route_solo_changed (bool self_solo_change, Controllable::GroupControlDi
* The first argument to the signal that this method is connected to is the
* GroupControlDisposition value that was used to change solo.
*
- * If the solo change was done with group semantics (either WholeGroup
+ * If the solo change was done with group semantics (either InverseGroup
* (force the entire group to change even if the group shared solo is
* disabled) or UseGroup (use the group, which may or may not have the
* shared solo property enabled)) then as we propagate the change to
diff --git a/libs/pbd/enums.cc b/libs/pbd/enums.cc
index 5e68824bac..e8bb80742d 100644
--- a/libs/pbd/enums.cc
+++ b/libs/pbd/enums.cc
@@ -41,7 +41,7 @@ setup_libpbd_enums ()
REGISTER_CLASS_ENUM (Controllable, GainLike);
REGISTER (controllable_flags);
- REGISTER_CLASS_ENUM (Controllable, WholeGroup);
+ REGISTER_CLASS_ENUM (Controllable, InverseGroup);
REGISTER_CLASS_ENUM (Controllable, UseGroup);
REGISTER_CLASS_ENUM (Controllable, NoGroup);
REGISTER (controllable_group_disposition);
diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h
index 727153a277..51c9c64be1 100644
--- a/libs/pbd/pbd/controllable.h
+++ b/libs/pbd/pbd/controllable.h
@@ -82,7 +82,7 @@ class LIBPBD_API Controllable : public PBD::StatefulDestructible {
*/
enum GroupControlDisposition {
- WholeGroup, /* set all controls in the same "group" as this one */
+ InverseGroup, /* set all controls in the same "group" as this one */
NoGroup, /* set only this control */
UseGroup /* use group settings to decide which group controls are altered */
};