+string
+AddRouteDialog::track_template ()
+{
+ string str = channel_combo.get_active_text();
+
+ for (ChannelSetups::iterator i = channel_setups.begin(); i != channel_setups.end(); ++i) {
+ if (str == (*i).name) {
+ return (*i).template_path;
+ }
+ }
+
+ return string();
+}
+
+void
+AddRouteDialog::on_show ()
+{
+ refill_channel_setups ();
+ Dialog::on_show ();
+}
+void
+AddRouteDialog::refill_channel_setups ()
+{
+ ChannelSetup chn;
+
+ route_templates.clear ();
+ channel_combo_strings.clear ();
+ channel_setups.clear ();
+
+ chn.name = _("Mono");
+ chn.channels = 1;
+ channel_setups.push_back (chn);
+
+ chn.name = _("Stereo");
+ chn.channels = 2;
+ channel_setups.push_back (chn);
+
+ Session::get_route_templates (route_templates);
+
+ if (!ARDOUR::Profile->get_sae()) {
+ if (!route_templates.empty()) {
+ vector<string> v;
+ for (vector<Session::RouteTemplateInfo>::iterator x = route_templates.begin(); x != route_templates.end(); ++x) {
+ chn.name = x->name;
+ chn.channels = 0;
+ chn.template_path = x->path;
+ channel_setups.push_back (chn);
+ }
+ }
+
+ /* no more templates for the rest */
+ chn.template_path = "";
+
+ chn.name = _("3 Channel");
+ chn.channels = 3;
+ channel_setups.push_back (chn);
+
+ chn.name = _("4 Channel");
+ chn.channels = 4;
+ channel_setups.push_back (chn);
+
+ chn.name = _("5 Channel");
+ chn.channels = 5;
+ channel_setups.push_back (chn);
+
+ chn.name = _("6 Channel");
+ chn.channels = 6;
+ channel_setups.push_back (chn);
+
+ chn.name = _("8 Channel");
+ chn.channels = 8;
+ channel_setups.push_back (chn);
+
+ chn.name = _("12 Channel");
+ chn.channels = 12;
+ channel_setups.push_back (chn);
+
+ chn.name = X_("Custom");
+ chn.channels = 0;
+ channel_setups.push_back (chn);
+ }
+
+ for (ChannelSetups::iterator i = channel_setups.begin(); i != channel_setups.end(); ++i) {
+ channel_combo_strings.push_back ((*i).name);
+ }
+
+ set_popdown_strings (channel_combo, channel_combo_strings, true);
+ channel_combo.set_active_text (channel_combo_strings.front());
+}
+