summaryrefslogtreecommitdiff
path: root/libs/surfaces
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-05-22 21:38:03 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-05-22 21:38:03 +0000
commitccfeb90bdc5e0502f43cbb89d701dfba91c64e74 (patch)
tree2d16e18c35a1baee493bf7fb7addf6bac20b4d05 /libs/surfaces
parentf9030dd2209b2794cf554f3d9423e6b0454286a6 (diff)
MCP: pay attention to listen changes as well as solo changes, and reflect listen state with solo button, just like solo
git-svn-id: svn://localhost/ardour2/branches/3.0@12385 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces')
-rw-r--r--libs/surfaces/mackie/strip.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/surfaces/mackie/strip.cc b/libs/surfaces/mackie/strip.cc
index 132d93ed75..d886f5a658 100644
--- a/libs/surfaces/mackie/strip.cc
+++ b/libs/surfaces/mackie/strip.cc
@@ -163,7 +163,9 @@ Strip::set_route (boost::shared_ptr<Route> r, bool /*with_messages*/)
set_vpot_parameter (PanAzimuthAutomation);
- _route->solo_control()->Changed.connect(route_connections, MISSING_INVALIDATOR, boost::bind (&Strip::notify_solo_changed, this), ui_context());
+ _route->solo_changed.connect (route_connections, MISSING_INVALIDATOR, boost::bind (&Strip::notify_solo_changed, this), ui_context());
+ _route->listen_changed.connect (route_connections, MISSING_INVALIDATOR, boost::bind (&Strip::notify_solo_changed, this), ui_context());
+
_route->mute_control()->Changed.connect(route_connections, MISSING_INVALIDATOR, boost::bind (&Strip::notify_mute_changed, this), ui_context());
boost::shared_ptr<Pannable> pannable = _route->pannable();
@@ -239,7 +241,7 @@ void
Strip::notify_solo_changed ()
{
if (_route && _solo) {
- _surface->write (_solo->set_state (_route->soloed() ? on : off));
+ _surface->write (_solo->set_state ((_route->soloed() || _route->listening_via_monitor()) ? on : off));
}
}