From: Robin Gareus Date: Fri, 5 May 2017 13:36:08 +0000 (+0200) Subject: FP8: ignore inactive muted tracks w/mute-clear X-Git-Tag: 5.9~93 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=8288fa40b9c5101e1d14274b6972c1c4fb0215a4;hp=3a75e7c53b62a69976714e30c4307d955a711047;p=ardour.git FP8: ignore inactive muted tracks w/mute-clear --- 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 r = boost::dynamic_pointer_cast(*i); + if (r && !r->active()) { + continue; + } boost::shared_ptr 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 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 r = boost::dynamic_pointer_cast(*i); + if (r && !r->active()) { + continue; + } boost::shared_ptr mc = (*i)->mute_control(); if (mc && mc->muted ()) { muted = true;