diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-19 04:25:46 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-11-19 04:25:46 +0000 |
commit | b99b507be9cb290ff9fc2d6197af045964eb68a2 (patch) | |
tree | 4cacb127abbb64bce55fbf06f7184441691d851e /gtk2_ardour/add_route_dialog.cc | |
parent | 2feede2e8ce393b8684638c526006dfb46ef4908 (diff) |
add track/bus now allows specifying aux or direct bus role; processor box menus sort of kindof allow New Aux -> Aux Bus
git-svn-id: svn://localhost/ardour2/branches/3.0@6128 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/add_route_dialog.cc')
-rw-r--r-- | gtk2_ardour/add_route_dialog.cc | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/gtk2_ardour/add_route_dialog.cc b/gtk2_ardour/add_route_dialog.cc index 4c8c832044..42300f918b 100644 --- a/gtk2_ardour/add_route_dialog.cc +++ b/gtk2_ardour/add_route_dialog.cc @@ -52,12 +52,22 @@ static const char* track_mode_names[] = { 0 }; +static const char* bus_mode_names[] = { + N_("Aux"), + N_("Direct"), + 0 +}; + +std::vector<std::string> AddRouteDialog::channel_combo_strings; +std::vector<std::string> AddRouteDialog::track_mode_strings; +std::vector<std::string> AddRouteDialog::bus_mode_strings; + AddRouteDialog::AddRouteDialog (Session & s) : ArdourDialog (X_("add route dialog")) , _session (s) , routes_adjustment (1, 1, 128, 1, 4) , routes_spinner (routes_adjustment) - , track_mode_label (_("Track mode:")) + , mode_label (_("Track mode:")) { if (track_mode_strings.empty()) { track_mode_strings = I18N (track_mode_names); @@ -71,6 +81,10 @@ AddRouteDialog::AddRouteDialog (Session & s) } } + if (bus_mode_strings.empty()) { + bus_mode_strings = I18N (bus_mode_names); + } + set_name ("AddRouteDialog"); set_position (Gtk::WIN_POS_MOUSE); set_modal (true); @@ -82,14 +96,14 @@ AddRouteDialog::AddRouteDialog (Session & s) name_template_entry.set_name (X_("AddRouteDialogNameTemplateEntry")); routes_spinner.set_name (X_("AddRouteDialogSpinner")); channel_combo.set_name (X_("ChannelCountSelector")); - track_mode_combo.set_name (X_("ChannelCountSelector")); + mode_combo.set_name (X_("ChannelCountSelector")); refill_channel_setups (); refill_route_groups (); - set_popdown_strings (track_mode_combo, track_mode_strings, true); + set_popdown_strings (mode_combo, track_mode_strings, true); channel_combo.set_active_text (channel_combo_strings.front()); - track_mode_combo.set_active_text (track_mode_strings.front()); + mode_combo.set_active_text (track_mode_strings.front()); track_bus_combo.append_text (_("tracks")); track_bus_combo.append_text (_("busses")); @@ -139,9 +153,9 @@ AddRouteDialog::AddRouteDialog (Session & s) /* Track mode */ - track_mode_label.set_alignment (Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER); - table2->attach (track_mode_label, 1, 2, 1, 2, Gtk::FILL, Gtk::EXPAND, 0, 0); - table2->attach (track_mode_combo, 2, 3, 1, 2, Gtk::FILL, Gtk::EXPAND & Gtk::FILL, 0, 0); + mode_label.set_alignment (Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER); + table2->attach (mode_label, 1, 2, 1, 2, Gtk::FILL, Gtk::EXPAND, 0, 0); + table2->attach (mode_combo, 2, 3, 1, 2, Gtk::FILL, Gtk::EXPAND & Gtk::FILL, 0, 0); } @@ -180,8 +194,16 @@ AddRouteDialog::~AddRouteDialog () void AddRouteDialog::track_type_chosen () { - track_mode_label.set_sensitive (track ()); - track_mode_combo.set_sensitive (track ()); + if (track()) { + mode_label.set_text (_("Track mode:")); + set_popdown_strings (mode_combo, track_mode_strings); + mode_combo.set_active_text (track_mode_strings.front()); + } else { + mode_label.set_text (_("Bus type:")); + set_popdown_strings (mode_combo, bus_mode_strings); + mode_combo.set_active_text (bus_mode_strings.front()); + } + } bool @@ -190,6 +212,12 @@ AddRouteDialog::track () return track_bus_combo.get_active_row_number () == 0; } +bool +AddRouteDialog::aux () +{ + return !track() && mode_combo.get_active_row_number () == 0; +} + ARDOUR::DataType AddRouteDialog::type () { @@ -217,7 +245,7 @@ AddRouteDialog::mode () return ARDOUR::Normal; } - Glib::ustring str = track_mode_combo.get_active_text(); + Glib::ustring str = mode_combo.get_active_text(); if (str == _("Normal")) { return ARDOUR::Normal; } else if (str == _("Non Layered")){ |