summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-25 16:55:14 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-11-25 16:55:14 -0500
commit9cbab4070f06de3c95f9e36baa771717d43e88d3 (patch)
tree1c7940150815f331bf5ea9480152612c34e049f7 /libs
parent1450fc07c14b96be87f5915949bd292cd03585e4 (diff)
faderport: fix odd interaction when selecting master-then-monitor or monitor-then-master and toggling back
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/faderport/operations.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/surfaces/faderport/operations.cc b/libs/surfaces/faderport/operations.cc
index 9bccd77284..61acbeccad 100644
--- a/libs/surfaces/faderport/operations.cc
+++ b/libs/surfaces/faderport/operations.cc
@@ -18,6 +18,7 @@
*/
#include "ardour/async_midi_port.h"
+#include "ardour/monitor_processor.h"
#include "ardour/rc_configuration.h"
#include "ardour/session.h"
#include "ardour/track.h"
@@ -46,6 +47,12 @@ FaderPort::mute ()
return;
}
+ if (_current_route == session->monitor_out()) {
+ boost::shared_ptr<MonitorProcessor> mp = _current_route->monitor_control();
+ mp->set_cut_all (!mp->cut_all());
+ return;
+ }
+
boost::shared_ptr<RouteList> rl (new RouteList);
rl->push_back (_current_route);
session->set_mute (rl, !_current_route->muted());