diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 480b110782..ee251d1f27 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -761,8 +761,8 @@ AddRouteDialog::track_type_chosen () break; case FoldbackBus: - configuration_label.set_sensitive (false); - channel_combo.set_sensitive (false); + configuration_label.set_sensitive (true); + channel_combo.set_sensitive (true); mode_label.set_sensitive (false); mode_combo.set_sensitive (false); @@ -800,6 +800,7 @@ AddRouteDialog::name_template_is_default () const n == _("MIDI") || n == _("Audio+MIDI") || n == _("Bus") || + n == _("Foldback") || n == VCA::default_name_template()) { return true; } @@ -881,7 +882,7 @@ AddRouteDialog::channels () break; case FoldbackBus: - ret.set (DataType::AUDIO, 2); + ret.set (DataType::AUDIO, channel_count ()); ret.set (DataType::MIDI, 0); break; diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 548c37d733..d30b380270 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -2145,14 +2145,14 @@ ARDOUR_UI::session_add_audio_route ( } void -ARDOUR_UI::session_add_foldback_bus (uint32_t how_many, string const & name_template) +ARDOUR_UI::session_add_foldback_bus (int32_t channels, uint32_t how_many, string const & name_template) { RouteList routes; assert (_session); try { - routes = _session->new_audio_route (2, 2, 0, how_many, name_template, PresentationInfo::FoldbackBus, -1); + routes = _session->new_audio_route (channels, channels, 0, how_many, name_template, PresentationInfo::FoldbackBus, -1); if (routes.size() != how_many) { error << string_compose (P_("could not create %1 new foldback bus", "could not create %1 new foldback busses", how_many), how_many) @@ -2164,10 +2164,6 @@ ARDOUR_UI::session_add_foldback_bus (uint32_t how_many, string const & name_temp display_insufficient_ports_message (); return; } - - for (RouteList::iterator i = routes.begin(); i != routes.end(); ++i) { - (*i)->set_strict_io (true); - } } void @@ -4462,7 +4458,7 @@ ARDOUR_UI::add_route_dialog_response (int r) _session->vca_manager().create_vca (count, name_template); break; case AddRouteDialog::FoldbackBus: - session_add_foldback_bus (count, name_template); + session_add_foldback_bus (input_chan.n_audio(), count, name_template); break; } } diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 3120d33b0b..eb71cb87a0 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -323,7 +323,7 @@ public: ARDOUR::PluginInfoPtr, ARDOUR::Plugin::PresetRecord*, ARDOUR::PresentationInfo::order_t order); - void session_add_foldback_bus (uint32_t, std::string const &); + void session_add_foldback_bus (int32_t, uint32_t, std::string const &); void display_insufficient_ports_message ();