From 3f7de5ec8eb37a996a4a9440d6cfeee49cf0ad4e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 20 Apr 2020 00:34:36 +0200 Subject: [PATCH] Do not add monitor-sends to foldback busses --- libs/ardour/route.cc | 1 + libs/ardour/session.cc | 20 +++----------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 014c3e6c7b..3ba9a80f99 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3293,6 +3293,7 @@ Route::enable_monitor_send () /* master never sends to monitor section via the normal mechanism */ assert (!is_master ()); assert (!is_monitor ()); + assert (!is_foldbackbus ()); /* make sure we have one */ if (!_monitor_send) { diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index b6d70db727..4c343bfba2 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1140,12 +1140,7 @@ Session::add_monitor_section () ProcessorChangeBlocker pcb (this, false /* XXX */); for (RouteList::iterator x = rls->begin(); x != rls->end(); ++x) { - - if ((*x)->is_monitor()) { - /* relax */ - } else if ((*x)->is_master()) { - /* relax */ - } else { + if ((*x)->can_solo ()) { (*x)->enable_monitor_send (); } } @@ -1265,12 +1260,7 @@ Session::reset_monitor_section () ProcessorChangeBlocker pcb (this, false); for (RouteList::iterator x = rls->begin(); x != rls->end(); ++x) { - - if ((*x)->is_monitor()) { - /* relax */ - } else if ((*x)->is_master()) { - /* relax */ - } else { + if ((*x)->can_solo ()) { (*x)->enable_monitor_send (); } } @@ -3284,11 +3274,7 @@ Session::add_routes_inner (RouteList& new_routes, bool input_auto_connect, bool Glib::Threads::Mutex::Lock lm (_engine.process_lock()); for (RouteList::iterator x = new_routes.begin(); x != new_routes.end(); ++x) { - if ((*x)->is_monitor()) { - /* relax */ - } else if ((*x)->is_master()) { - /* relax */ - } else { + if ((*x)->can_solo ()) { (*x)->enable_monitor_send (); } }