From 23da78c0135386b7b2103ab86825775fb7f23a41 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 21 Oct 2022 01:22:27 +0200 Subject: [PATCH] Separate I/O Pre and Post plugins to dedicated matrix tabs --- gtk2_ardour/port_group.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/port_group.cc b/gtk2_ardour/port_group.cc index 6b24ff94f5..205870b97f 100644 --- a/gtk2_ardour/port_group.cc +++ b/gtk2_ardour/port_group.cc @@ -350,7 +350,8 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp boost::shared_ptr bus (new PortGroup (string_compose (_("%1 Busses"), PROGRAM_NAME))); boost::shared_ptr track (new PortGroup (string_compose (_("%1 Tracks"), PROGRAM_NAME))); boost::shared_ptr sidechain (new PortGroup (string_compose (_("%1 Sidechains"), PROGRAM_NAME))); - boost::shared_ptr ioplugin (new PortGroup (string_compose (_("%1 I/O Plugin"), PROGRAM_NAME))); + boost::shared_ptr iop_pre (new PortGroup (string_compose (_("%1 I/O Pre"), PROGRAM_NAME))); + boost::shared_ptr iop_post (new PortGroup (string_compose (_("%1 I/O Post"), PROGRAM_NAME))); boost::shared_ptr system (new PortGroup (_("Hardware"))); boost::shared_ptr program (new PortGroup (string_compose (_("%1 Misc"), PROGRAM_NAME))); boost::shared_ptr other (new PortGroup (_("Other"))); @@ -570,7 +571,11 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp continue; } if (type == DataType::NIL || io->n_ports().get (type) > 0) { - ioplugin->add_bundle (io->bundle(), io); + if (iop->is_pre ()) { + iop_pre->add_bundle (io->bundle(), io); + } else { + iop_post->add_bundle (io->bundle(), io); + } } } @@ -615,7 +620,8 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp !system->has_port(p) && !bus->has_port(p) && !track->has_port(p) - && !ioplugin->has_port(p) + && !iop_pre->has_port(p) + && !iop_post->has_port(p) && !sidechain->has_port(p) && !program->has_port(p) && !other->has_port(p) @@ -733,7 +739,8 @@ PortGroupList::gather (ARDOUR::Session* session, ARDOUR::DataType type, bool inp add_group_if_not_empty (bus); add_group_if_not_empty (track); add_group_if_not_empty (sidechain); - add_group_if_not_empty (ioplugin); + add_group_if_not_empty (iop_pre); + add_group_if_not_empty (iop_post); add_group_if_not_empty (program); add_group_if_not_empty (system);