summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/add_route_dialog.cc51
-rw-r--r--gtk2_ardour/add_route_dialog.h4
-rw-r--r--gtk2_ardour/ardour_ui.cc21
3 files changed, 32 insertions, 44 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc
index 9cfb747397..2de735245a 100644
--- a/gtk2_ardour/add_route_dialog.cc
+++ b/gtk2_ardour/add_route_dialog.cc
@@ -61,7 +61,7 @@ AddRouteDialog::AddRouteDialog (Session* s)
set_resizable (false);
name_template_entry.set_name (X_("AddRouteDialogNameTemplateEntry"));
- routes_spinner.set_name (X_("AddRouteDialogSpinner"));
+ // routes_spinner.set_name (X_("AddRouteDialogSpinner"));
channel_combo.set_name (X_("ChannelCountSelector"));
mode_combo.set_name (X_("ChannelCountSelector"));
@@ -71,8 +71,9 @@ AddRouteDialog::AddRouteDialog (Session* s)
channel_combo.set_active_text (channel_combo_strings.front());
- track_bus_combo.append_text (_("tracks"));
- track_bus_combo.append_text (_("busses"));
+ track_bus_combo.append_text (_("Audio Tracks"));
+ track_bus_combo.append_text (_("MIDI Tracks"));
+ track_bus_combo.append_text (_("Busses"));
track_bus_combo.set_active (0);
VBox* vbox = manage (new VBox);
@@ -186,12 +187,10 @@ AddRouteDialog::maybe_update_name_template_entry ()
return;
}
- if (track ()) {
- if (type () == DataType::MIDI) {
- name_template_entry.set_text (_("MIDI"));
- } else {
- name_template_entry.set_text (_("Audio"));
- }
+ if (audio_tracks_wanted ()) {
+ name_template_entry.set_text (_("Audio"));
+ } else if (midi_tracks_wanted()) {
+ name_template_entry.set_text (_("MIDI"));
} else {
name_template_entry.set_text (_("Bus"));
}
@@ -200,22 +199,30 @@ AddRouteDialog::maybe_update_name_template_entry ()
void
AddRouteDialog::track_type_chosen ()
{
- mode_combo.set_sensitive (track ());
+ if (midi_tracks_wanted()) {
+ channel_combo.set_sensitive (false);
+ mode_combo.set_sensitive (false);
+ } else if (audio_tracks_wanted()) {
+ mode_combo.set_sensitive (true);
+ channel_combo.set_sensitive (true);
+ } else {
+ mode_combo.set_sensitive (false);
+ channel_combo.set_sensitive (true);
+ }
+
maybe_update_name_template_entry ();
}
bool
-AddRouteDialog::track ()
+AddRouteDialog::audio_tracks_wanted ()
{
return track_bus_combo.get_active_row_number () == 0;
}
-ARDOUR::DataType
-AddRouteDialog::type ()
+bool
+AddRouteDialog::midi_tracks_wanted ()
{
- return (channel_combo.get_active_text() == _("MIDI"))
- ? ARDOUR::DataType::MIDI
- : ARDOUR::DataType::AUDIO;
+ return track_bus_combo.get_active_row_number () == 1;
}
string
@@ -239,10 +246,7 @@ AddRouteDialog::refill_track_modes ()
if (!ARDOUR::Profile->get_sae ()) {
s.push_back (_("Non Layered"));
-
- if (type() != DataType::MIDI) {
- s.push_back (_("Tape"));
- }
+ s.push_back (_("Tape"));
}
set_popdown_strings (mode_combo, s);
@@ -329,13 +333,6 @@ AddRouteDialog::refill_channel_setups ()
chn.name = "separator";
channel_setups.push_back (chn);
- chn.name = _("MIDI");
- chn.channels = 0;
- channel_setups.push_back (chn);
-
- chn.name = "separator";
- channel_setups.push_back (chn);
-
ARDOUR::find_route_templates (route_templates);
if (!ARDOUR::Profile->get_sae()) {
diff --git a/gtk2_ardour/add_route_dialog.h b/gtk2_ardour/add_route_dialog.h
index 571420c4be..49b3fc47cd 100644
--- a/gtk2_ardour/add_route_dialog.h
+++ b/gtk2_ardour/add_route_dialog.h
@@ -45,14 +45,14 @@ class AddRouteDialog : public ArdourDialog
AddRouteDialog (ARDOUR::Session*);
~AddRouteDialog ();
- bool track ();
+ bool audio_tracks_wanted ();
+ bool midi_tracks_wanted ();
int channels ();
int count ();
std::string name_template ();
std::string track_template ();
- ARDOUR::DataType type();
ARDOUR::TrackMode mode();
ARDOUR::RouteGroup* route_group ();
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index b750809b33..7845918870 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -3260,6 +3260,7 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
if (add_route_dialog == 0) {
add_route_dialog = new AddRouteDialog (_session);
+ add_route_dialog->set_position (WIN_POS_MOUSE);
if (float_window) {
add_route_dialog->set_transient_for (*float_window);
}
@@ -3296,7 +3297,6 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
uint32_t input_chan = add_route_dialog->channels ();
uint32_t output_chan;
string name_template = add_route_dialog->name_template ();
- bool track = add_route_dialog->track ();
RouteGroup* route_group = add_route_dialog->route_group ();
AutoConnectOption oac = Config->get_output_auto_connect();
@@ -3309,21 +3309,12 @@ ARDOUR_UI::add_route (Gtk::Window* float_window)
/* XXX do something with name template */
- if (add_route_dialog->type() == ARDOUR::DataType::MIDI) {
- if (track) {
- session_add_midi_track (route_group, count, name_template);
- } else {
- MessageDialog msg (*editor,
- _("Sorry, MIDI Busses are not supported at this time."));
- msg.run ();
- //session_add_midi_bus();
- }
+ if (add_route_dialog->midi_tracks_wanted()) {
+ session_add_midi_track (route_group, count, name_template);
+ } else if (add_route_dialog->audio_tracks_wanted()) {
+ session_add_audio_track (input_chan, output_chan, add_route_dialog->mode(), route_group, count, name_template);
} else {
- if (track) {
- session_add_audio_track (input_chan, output_chan, add_route_dialog->mode(), route_group, count, name_template);
- } else {
- session_add_audio_bus (input_chan, output_chan, route_group, count, name_template);
- }
+ session_add_audio_bus (input_chan, output_chan, route_group, count, name_template);
}
}