#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"
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:"))
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"));
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"));
++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);
return MidiTrack;
} else if (str == _("Audio+MIDI Tracks")) {
return MixedTrack;
- } else {
+ } else if (str == _("Audio Tracks")) {
return AudioTrack;
+ } else {
+ return VCAMaster;
}
}
{
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") &&
case MidiBus:
name_template_entry.set_text (_("Bus"));
break;
+ case VCAMaster:
+ name_template_entry.set_text (VCA::default_name_template());
+ break;
}
}
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);
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);
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);
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);
if (n == _("Audio") ||
n == _("MIDI") ||
n == _("Audio+MIDI") ||
- n == _("Bus")) {
+ n == _("Bus") ||
+ n == VCA::default_name_template()) {
return true;
}
}
ret.set (DataType::MIDI, 1);
break;
+ default:
+ break;
}
return ret;