From 8b6e1d78f9495447c712bb65fb268ebfce95d3b3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 22 Oct 2020 23:52:01 +0200 Subject: [PATCH] Fix external/sidechain send solo propagation Since caf057f06dbe307 sends propagate solo, however so far only internal-sends properly cleaned up after disconnect or removal. --- libs/ardour/route.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 4408a47cb4..6ca3110151 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1145,6 +1145,9 @@ Route::add_processors (const ProcessorList& others, boost::shared_ptr if ((send = boost::dynamic_pointer_cast (*i))) { send->SelfDestruct.connect_same_thread (**i, boost::bind (&Route::processor_selfdestruct, this, boost::weak_ptr (*i))); + if (send->output()) { + send->output()->changed.connect_same_thread (**i, boost::bind (&Route::output_change_handler, this, _1, _2)); + } } } @@ -3206,6 +3209,9 @@ Route::set_processor_state (XMLNode const& node, int version, XMLProperty const* processor.reset (new Send (_session, _pannable, _mute_master, Delivery::Send, true)); boost::shared_ptr send = boost::dynamic_pointer_cast (processor); send->SelfDestruct.connect_same_thread (*send, boost::bind (&Route::processor_selfdestruct, this, boost::weak_ptr (processor))); + if (send->output()) { + send->output()->changed.connect_same_thread (*send, boost::bind (&Route::output_change_handler, this, _1, _2)); + } } else { warning << string_compose(_("unknown Processor type \"%1\"; ignored"), prop->value()) << endmsg;