From 303d7bb2e89ca89bd0c714540a398121f59f0fc4 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 8 Jan 2021 18:39:07 +0100 Subject: [PATCH] Do not allow feedback override on foldback sends FoldbackStrip::update_send_box() GUI relies on ->fed_by() to determine if a FB bus has a send from a route. Under the hood this uses direct_feeds_according_to_reality() and InternalSend::feeds(). When `allow_feedback` is set a send is assumed to not directly feed a target (to allow loopbacks). This mode must not be used for foldback sends. --- libs/ardour/internal_send.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc index c14198445a..e92dbf972d 100644 --- a/libs/ardour/internal_send.cc +++ b/libs/ardour/internal_send.cc @@ -357,6 +357,9 @@ InternalSend::set_block_size (pframes_t nframes) void InternalSend::set_allow_feedback (bool yn) { + if (is_foldback ()) { + return; + } _allow_feedback = yn; _send_from->processors_changed (RouteProcessorChange ()); /* EMIT SIGNAL */ } @@ -407,7 +410,11 @@ InternalSend::set_state (const XMLNode& node, int version) } } - node.get_property (X_("allow-feedback"), _allow_feedback); + if (!is_foldback ()) { + node.get_property (X_("allow-feedback"), _allow_feedback); + } else { + _allow_feedback = false; + } return 0; }