From cb5a9f11dc91524e575fd90a36b400886de2166c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 29 May 2024 22:37:27 -0600 Subject: [PATCH] auto-fy another PortGroup::gather loop + no main outs for livetrax, part 2 --- gtk2_ardour/port_group.cc | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc index 3b94b1bb24..3630aa2188 100644 --- a/gtk2_ardour/port_group.cc +++ b/gtk2_ardour/port_group.cc @@ -324,7 +324,9 @@ PortGroupList::maybe_add_processor_to_list (std::weak_ptr wp, list r, std::shared_ptr i) { route = r; - ios.push_back (i); + if (i) { + ios.push_back (i); + } } std::shared_ptr route; @@ -371,11 +373,11 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp std::shared_ptr routes = session->get_routes (); list route_ios; - for (RouteList::const_iterator i = routes->begin(); i != routes->end(); ++i) { + for (auto const & r : *routes) { /* we never show the monitor bus inputs */ - if (inputs && (*i)->is_monitor()) { + if (inputs && r->is_monitor()) { continue; } @@ -385,12 +387,20 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp */ set > used_io; - std::shared_ptr io = inputs ? (*i)->input() : (*i)->output(); + std::shared_ptr io; + +#ifdef LIVETRAX + if (inputs) { + io = r->input(); + used_io.insert (io); + } +#else + io = inputs ? r->input() : r->output(); used_io.insert (io); +#endif - RouteIOs rb (*i, io); - (*i)->foreach_processor (boost::bind (&PortGroupList::maybe_add_processor_to_list, this, _1, &rb.ios, inputs, used_io)); - + RouteIOs rb (r, io); + r->foreach_processor (boost::bind (&PortGroupList::maybe_add_processor_to_list, this, _1, &rb.ios, inputs, used_io)); route_ios.push_back (rb); }