From 983de82ffae1c39c8e2a28d057e8740255a50aa6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 15 Dec 2025 23:48:33 +0100 Subject: [PATCH] Add option to import invisible mixer strips from templates --- gtk2_ardour/strip_import_dialog.cc | 7 ++++--- gtk2_ardour/strip_import_dialog.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/strip_import_dialog.cc b/gtk2_ardour/strip_import_dialog.cc index c98b09377b..76b4f12bc2 100644 --- a/gtk2_ardour/strip_import_dialog.cc +++ b/gtk2_ardour/strip_import_dialog.cc @@ -637,13 +637,13 @@ StripImportDialog::clear_mapping () } void -StripImportDialog::import_all_strips () +StripImportDialog::import_all_strips (bool only_visible) { _import_map.clear (); int64_t next_id = std::numeric_limits::max () - 1 - _extern_map.size (); for (auto& [eid, einfo] : _extern_map) { - if (einfo.pi.special () || einfo.pi.hidden ()) { + if (einfo.pi.special () || (only_visible && einfo.pi.hidden ())) { continue; } #ifdef MIXBUS @@ -712,7 +712,8 @@ StripImportDialog::setup_strip_import_page () using namespace Menu_Helpers; _action = manage (new ArdourWidgets::ArdourDropdown ()); _action->add_menu_elem (MenuElem (_("Clear Mapping"), sigc::mem_fun (*this, &StripImportDialog::clear_mapping))); - _action->add_menu_elem (MenuElem (_("Import all as new tracks"), sigc::mem_fun (*this, &StripImportDialog::import_all_strips))); + _action->add_menu_elem (MenuElem (_("Import all as new tracks"), sigc::bind (sigc::mem_fun (*this, &StripImportDialog::import_all_strips), false))); + _action->add_menu_elem (MenuElem (_("Import visible as new tracks"), sigc::bind (sigc::mem_fun (*this, &StripImportDialog::import_all_strips), true))); _action->add_menu_elem (MenuElem (_match_pbd_id ? _("Reset - auto-map by ID") : _("Reset - auto-map by name"), sigc::bind (mem_fun (*this, &StripImportDialog::set_default_mapping), true))); _action->set_text (_("Actions")); diff --git a/gtk2_ardour/strip_import_dialog.h b/gtk2_ardour/strip_import_dialog.h index 2bc7b5fa15..e2b8e2aebd 100644 --- a/gtk2_ardour/strip_import_dialog.h +++ b/gtk2_ardour/strip_import_dialog.h @@ -72,7 +72,7 @@ private: void prepare_mapping (bool, PBD::ID const&, std::string const&); void remove_mapping (PBD::ID const&); void clear_mapping (); - void import_all_strips (); + void import_all_strips (bool only_visible); void set_default_mapping (bool and_idle_update); void update_sensitivity_ok (); void ok_activated ();