phase out phase in favor of polarity
[ardour.git] / gtk2_ardour / add_route_dialog.cc
index e43a2a8e7d15947882792c1e4bd491d85dcdd188..21cae9fe6e0353f17bd5faaf7a24b4c2fd072cbf 100644 (file)
@@ -35,6 +35,7 @@
 #include "ardour/template_utils.h"
 #include "ardour/route_group.h"
 #include "ardour/session.h"
+#include "ardour/vca.h"
 
 #include "utils.h"
 #include "add_route_dialog.h"
@@ -52,7 +53,7 @@ using namespace ARDOUR_UI_UTILS;
 std::vector<std::string> AddRouteDialog::channel_combo_strings;
 
 AddRouteDialog::AddRouteDialog ()
-       : ArdourDialog (_("Add Track or Bus"))
+       : ArdourDialog (_("Add Track/Bus/VCA"))
        , routes_adjustment (1, 1, 128, 1, 4)
        , routes_spinner (routes_adjustment)
        , configuration_label (_("Configuration:"))
@@ -63,6 +64,7 @@ AddRouteDialog::AddRouteDialog ()
        set_modal (true);
        set_skip_taskbar_hint (true);
        set_resizable (false);
+       set_position (WIN_POS_MOUSE);
 
        name_template_entry.set_name (X_("AddRouteDialogNameTemplateEntry"));
        // routes_spinner.set_name (X_("AddRouteDialogSpinner"));
@@ -80,13 +82,14 @@ AddRouteDialog::AddRouteDialog ()
        track_bus_combo.append_text (_("Audio+MIDI Tracks"));
        track_bus_combo.append_text (_("Audio Busses"));
        track_bus_combo.append_text (_("MIDI Busses"));
+       track_bus_combo.append_text (_("VCA Masters"));
        track_bus_combo.set_active (0);
 
        insert_at_combo.append_text (_("First"));
        insert_at_combo.append_text (_("Before Selection"));
        insert_at_combo.append_text (_("After Selection"));
        insert_at_combo.append_text (_("Last"));
-       insert_at_combo.set_active (1);
+       insert_at_combo.set_active (3);
 
        strict_io_combo.append_text (_("Flexible-I/O"));
        strict_io_combo.append_text (_("Strict-I/O"));
@@ -164,13 +167,18 @@ AddRouteDialog::AddRouteDialog ()
        ++n;
 
        /* New Route's Routing is.. */
-       l = manage (new Label (_("Output Ports:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
-       table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0);
-       table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
 
-       ARDOUR_UI_UTILS::set_tooltip (strict_io_combo,
-                       _("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels."));
-       ++n;
+       if (Profile->get_mixbus ()) {
+               strict_io_combo.set_active (1);
+       } else {
+               l = manage (new Label (_("Output Ports:"), Gtk::ALIGN_LEFT, Gtk::ALIGN_CENTER, false));
+               table2->attach (*l, 1, 2, n, n + 1, Gtk::FILL, Gtk::EXPAND, 0, 0);
+               table2->attach (strict_io_combo, 2, 3, n, n + 1, Gtk::FILL, Gtk::EXPAND | Gtk::FILL, 0, 0);
+
+               ARDOUR_UI_UTILS::set_tooltip (strict_io_combo,
+                               _("With strict-i/o enabled, Effect Processors will not modify the number of channels on a track. The number of output channels will always match the number of input channels."));
+               ++n;
+       }
 
        options_box->pack_start (*table2, false, true);
        vbox->pack_start (*options_box, false, true);
@@ -220,8 +228,10 @@ AddRouteDialog::type_wanted() const
                return MidiTrack;
        } else if (str == _("Audio+MIDI Tracks")) {
                return MixedTrack;
-       } else {
+       } else if (str == _("Audio Tracks")) {
                return AudioTrack;
+       } else {
+               return VCAMaster;
        }
 }
 
@@ -230,6 +240,7 @@ AddRouteDialog::maybe_update_name_template_entry ()
 {
        if (
                name_template_entry.get_text() != "" &&
+               name_template_entry.get_text() != VCA::default_name_template() &&
                name_template_entry.get_text() != _("Audio") &&
                name_template_entry.get_text() != _("MIDI")  &&
                name_template_entry.get_text() != _("Audio+MIDI")  &&
@@ -254,6 +265,9 @@ AddRouteDialog::maybe_update_name_template_entry ()
        case MidiBus:
                name_template_entry.set_text (_("Bus"));
                break;
+       case VCAMaster:
+               name_template_entry.set_text (VCA::default_name_template());
+               break;
        }
 }
 
@@ -268,6 +282,7 @@ AddRouteDialog::track_type_chosen ()
                configuration_label.set_sensitive (true);
                mode_label.set_sensitive (true);
                instrument_label.set_sensitive (false);
+               route_group_combo.set_sensitive (true);
                break;
        case MidiTrack:
                channel_combo.set_sensitive (false);
@@ -276,9 +291,10 @@ AddRouteDialog::track_type_chosen ()
                configuration_label.set_sensitive (false);
                mode_label.set_sensitive (false);
                instrument_label.set_sensitive (true);
+               route_group_combo.set_sensitive (true);
                break;
        case MixedTrack:
-               {
+               {
                        MessageDialog msg (_("Audio+MIDI tracks are intended for use <b>ONLY</b> with plugins that use both audio and MIDI input data\n\n"
                                             "If you do not plan to use such a plugin, then use a normal audio or MIDI track instead."),
                                           true, MESSAGE_INFO, BUTTONS_OK, true);
@@ -291,6 +307,7 @@ AddRouteDialog::track_type_chosen ()
                configuration_label.set_sensitive (true);
                mode_label.set_sensitive (true);
                instrument_label.set_sensitive (true);
+               route_group_combo.set_sensitive (true);
                break;
        case AudioBus:
                mode_combo.set_sensitive (false);
@@ -299,6 +316,16 @@ AddRouteDialog::track_type_chosen ()
                configuration_label.set_sensitive (true);
                mode_label.set_sensitive (true);
                instrument_label.set_sensitive (false);
+               route_group_combo.set_sensitive (true);
+               break;
+       case VCAMaster:
+               mode_combo.set_sensitive (false);
+               channel_combo.set_sensitive (false);
+               instrument_combo.set_sensitive (false);
+               configuration_label.set_sensitive (false);
+               mode_label.set_sensitive (false);
+               instrument_label.set_sensitive (false);
+               route_group_combo.set_sensitive (false);
                break;
        case MidiBus:
                mode_combo.set_sensitive (false);
@@ -328,7 +355,8 @@ AddRouteDialog::name_template_is_default() const
        if (n == _("Audio") ||
            n == _("MIDI") ||
            n == _("Audio+MIDI") ||
-           n == _("Bus")) {
+           n == _("Bus") ||
+           n == VCA::default_name_template()) {
                return true;
        }
 
@@ -407,6 +435,8 @@ AddRouteDialog::channels ()
                }
                ret.set (DataType::MIDI, 1);
                break;
+       default:
+               break;
        }
 
        return ret;