summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-05-05 15:36:08 +0200
committerRobin Gareus <robin@gareus.org>2017-05-05 15:36:08 +0200
commit8288fa40b9c5101e1d14274b6972c1c4fb0215a4 (patch)
treefc24dbf1bd083be14b44839fe509b93cce280366 /libs
parent3a75e7c53b62a69976714e30c4307d955a711047 (diff)
FP8: ignore inactive muted tracks w/mute-clear
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/faderport8/actions.cc4
-rw-r--r--libs/surfaces/faderport8/callbacks.cc9
2 files changed, 11 insertions, 2 deletions
diff --git a/libs/surfaces/faderport8/actions.cc b/libs/surfaces/faderport8/actions.cc
index a14c516c3c..5789961ea1 100644
--- a/libs/surfaces/faderport8/actions.cc
+++ b/libs/surfaces/faderport8/actions.cc
@@ -294,6 +294,10 @@ FaderPort8::button_mute_clear ()
if ((*i)->is_auditioner() || (*i)->is_monitor()) {
continue;
}
+ boost::shared_ptr<Route> r = boost::dynamic_pointer_cast<Route>(*i);
+ if (r && !r->active()) {
+ continue;
+ }
boost::shared_ptr<AutomationControl> ac = (*i)->mute_control();
if (ac && ac->get_value () > 0) {
cl->push_back (ac);
diff --git a/libs/surfaces/faderport8/callbacks.cc b/libs/surfaces/faderport8/callbacks.cc
index fa822bb8df..28fa9fd954 100644
--- a/libs/surfaces/faderport8/callbacks.cc
+++ b/libs/surfaces/faderport8/callbacks.cc
@@ -197,11 +197,16 @@ void
FaderPort8::notify_mute_changed ()
{
bool muted = false;
- boost::shared_ptr<RouteList> rl = session->get_routes();
- for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
+ StripableList all;
+ session->get_stripables (all);
+ for (StripableList::const_iterator i = all.begin(); i != all.end(); ++i) {
if ((*i)->is_auditioner() || (*i)->is_monitor()) {
continue;
}
+ boost::shared_ptr<Route> r = boost::dynamic_pointer_cast<Route>(*i);
+ if (r && !r->active()) {
+ continue;
+ }
boost::shared_ptr<MuteControl> mc = (*i)->mute_control();
if (mc && mc->muted ()) {
muted = true;