summaryrefslogtreecommitdiff
path: root/gtk2_ardour/add_route_dialog.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-08-20 00:18:58 +0200
committerRobin Gareus <robin@gareus.org>2017-08-20 00:18:58 +0200
commit1a70a2f9773512b9828e4d11f0c3c72ec3d0c4d0 (patch)
treee51ecd40f33ce8cd0a7a1974a0f417a8c3c454cf /gtk2_ardour/add_route_dialog.cc
parent9f1350a833b0e6b11c451870f135c9fa0153464d (diff)
Cont'd work on route-templates
Diffstat (limited to 'gtk2_ardour/add_route_dialog.cc')
-rw-r--r--gtk2_ardour/add_route_dialog.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index 383039c55b..05df3c71e3 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -302,7 +302,7 @@ AddRouteDialog::trk_template_row_selected ()
trk_template_desc.set_sensitive (true);
manual_label.set_sensitive (false);
- add_label.set_sensitive (false);
+ add_label.set_sensitive (rs.find ("how_many") != rs.end ());
type_label.set_sensitive (false);
name_label.set_sensitive (rs.find ("name") != rs.end());
@@ -329,7 +329,9 @@ AddRouteDialog::trk_template_row_selected ()
}
if ((it = rs.find ("how_many")) != rs.end()) {
- routes_adjustment.set_value (atoi (it->second.c_str()));
+ if (atoi (it->second.c_str()) > 0) {
+ routes_adjustment.set_value (atoi (it->second.c_str()));
+ }
}
if ((it = rs.find ("track_mode")) != rs.end()) {
@@ -342,6 +344,8 @@ AddRouteDialog::trk_template_row_selected ()
mode_combo.set_active_text (_("Tape"));
}
break;
+ default: // "NonLayered" enum is still present for session-format compat
+ break;
}
}
@@ -368,7 +372,7 @@ AddRouteDialog::trk_template_row_selected ()
trk_template_desc.set_sensitive (true);
manual_label.set_sensitive (false);
- add_label.set_sensitive (false);
+ add_label.set_sensitive (true);
type_label.set_sensitive (false);
name_label.set_sensitive (true);
group_label.set_sensitive (false);
@@ -743,6 +747,7 @@ AddRouteDialog::refill_channel_setups ()
}
trk_template_model->clear();
+ bool selected_default = false;
/* Add any Lua scripts (factory templates) found in the scripts folder */
LuaScriptList& ms (LuaScripting::instance ().scripts (LuaScriptInfo::EditorAction));
@@ -751,7 +756,8 @@ AddRouteDialog::refill_channel_setups ()
continue;
}
TreeModel::Row row;
- if ( (*s)->name == "Add tracks") { //somewhat-special, most-used template
+ if ( (*s)->name == "Create Audio Tracks Interactively" && Profile->get_mixbus ()) {
+ // somewhat-special, Ben says: "most-used template"
row = *(trk_template_model->prepend ());
} else {
row = *(trk_template_model->append ());
@@ -761,8 +767,9 @@ AddRouteDialog::refill_channel_setups ()
row[track_template_columns.description] = (*s)->description;
row[track_template_columns.created_with] = _("{Factory Template}");
- if ( (*s)->name == "Add tracks") { //somewhat-special, most-used template
+ if ((*s)->name == "Create Audio Tracks Interactively" && Profile->get_mixbus ()) {
trk_template_chooser.get_selection()->select(row);
+ selected_default = true;
}
}
@@ -785,6 +792,10 @@ AddRouteDialog::refill_channel_setups ()
row[track_template_columns.description] = _("Use the controls, below, to add tracks.");
row[track_template_columns.created_with] = "";
+ if (!selected_default) {
+ trk_template_chooser.get_selection()->select(row);
+ }
+
set_popdown_strings (channel_combo, channel_combo_strings);
if (!channel_current_choice.empty()) {