From ce70b544b0735f8a1abe8226c6809d54a42e4c1b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 28 Aug 2025 18:09:45 +0200 Subject: [PATCH] RTA: render master-bus first --- gtk2_ardour/rta_manager.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/rta_manager.cc b/gtk2_ardour/rta_manager.cc index 2c37b95ef5..09a97cff8a 100644 --- a/gtk2_ardour/rta_manager.cc +++ b/gtk2_ardour/rta_manager.cc @@ -172,15 +172,23 @@ RTAManager::attach (std::shared_ptr route) return; } } + std::list::iterator i; try { - _rta.emplace_back (route); + /* render master first (as background) because it is the sum of other individual channels */ + if (route->is_master ()) { + _rta.emplace_front (route); + i = _rta.begin(); + } else { + _rta.emplace_back (route); + i = --_rta.end(); + } } catch (...) { return; } - _rta.back ().set_rta_speed (_speed); - _rta.back ().set_rta_warp (_warp); - _rta.back ().delivery ()->set_analysis_active (_active); + i->set_rta_speed (_speed); + i->set_rta_warp (_warp); + i->delivery ()->set_analysis_active (_active); route->gui_changed ("rta", this); /* EMIT SIGNAL */ route->DropReferences.connect (*this, invalidator (*this), std::bind (&RTAManager::route_removed, this, std::weak_ptr (route)), gui_context ());