diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 54a1b5361d..e43a2a8e7d 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -58,7 +58,6 @@ AddRouteDialog::AddRouteDialog () , configuration_label (_("Configuration:")) , mode_label (_("Record Mode:")) , instrument_label (_("Instrument:")) - , strict_io (_("Strict I/O")) { set_name ("AddRouteDialog"); set_modal (true); @@ -87,9 +86,12 @@ AddRouteDialog::AddRouteDialog () insert_at_combo.append_text (_("Before Selection")); insert_at_combo.append_text (_("After Selection")); insert_at_combo.append_text (_("Last")); - insert_at_combo.set_active (1); + strict_io_combo.append_text (_("Flexible-I/O")); + strict_io_combo.append_text (_("Strict-I/O")); + strict_io_combo.set_active (Config->get_strict_io () ? 1 : 0); + VBox* vbox = manage (new VBox); Gtk::Label* l; @@ -162,10 +164,12 @@ AddRouteDialog::AddRouteDialog () ++n; /* New Route's Routing is.. */ - strict_io.set_active (Config->get_strict_io ()); - ARDOUR_UI_UTILS::set_tooltip (strict_io, + l = manage (new Label (_("Output Ports:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false)); + table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); + + ARDOUR_UI_UTILS::set_tooltip (strict_io_combo, _("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels.")); - table2->attach (strict_io, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0); ++n; options_box->pack_start (*table2, false, true); @@ -230,11 +234,11 @@ AddRouteDialog::maybe_update_name_template_entry () name_template_entry.get_text() != _("MIDI") && name_template_entry.get_text() != _("Audio+MIDI") && name_template_entry.get_text() != _("Bus")) { - strict_io.set_sensitive (false); + strict_io_combo.set_sensitive (false); return; } - strict_io.set_sensitive (true); + strict_io_combo.set_sensitive (true); switch (type_wanted()) { case AudioTrack: @@ -519,6 +523,11 @@ AddRouteDialog::route_group () return _session->route_group_by_name (route_group_combo.get_active_text()); } +bool +AddRouteDialog::use_strict_io() { + return strict_io_combo.get_active_row_number () == 1; +} + void AddRouteDialog::refill_route_groups () { diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h index 05be01ef3d..be973095b5 100644 --- a/gtk2_ardour/add_route_dialog.h +++ b/gtk2_ardour/add_route_dialog.h @@ -75,8 +75,7 @@ class AddRouteDialog : public ArdourDialog Last }; InsertAt insert_at(); - - bool use_strict_io() { return strict_io.get_active (); } + bool use_strict_io(); private: Gtk::Entry name_template_entry; @@ -90,9 +89,8 @@ class AddRouteDialog : public ArdourDialog Gtk::ComboBoxText mode_combo; Gtk::ComboBoxText route_group_combo; InstrumentSelector instrument_combo; - Gtk::Label insert_at_label; Gtk::ComboBoxText insert_at_combo; - Gtk::CheckButton strict_io; + Gtk::ComboBoxText strict_io_combo; std::vector route_templates;