#include <sigc++/bind.h>
#include <gtkmm/stock.h>
+#include <gtkmm/messagedialog.h>
#include <gtkmm/separator.h>
#include <gtkmm/table.h>
std::vector<std::string> AddRouteDialog::channel_combo_strings;
-AddRouteDialog::AddRouteDialog (Session* s)
+AddRouteDialog::AddRouteDialog ()
: ArdourDialog (_("Add Track or Bus"))
, routes_adjustment (1, 1, 128, 1, 4)
, routes_spinner (routes_adjustment)
, mode_label (_("Track mode:"))
, instrument_label (_("Instrument:"))
{
- set_session (s);
-
set_name ("AddRouteDialog");
- set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);
instrument_label.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);
+ msg.set_position (WIN_POS_MOUSE);
+ msg.run ();
+ }
channel_combo.set_sensitive (true);
mode_combo.set_sensitive (true);
instrument_combo.set_sensitive (true);
string
-AddRouteDialog::name_template ()
+AddRouteDialog::name_template () const
{
return name_template_entry.get_text ();
}
+bool
+AddRouteDialog::name_template_is_default() const
+{
+ string n = name_template();
+
+ if (n == _("Audio") ||
+ n == _("MIDI") ||
+ n == _("Audio+MIDI") ||
+ n == _("Bus")) {
+ return true;
+ }
+
+ return false;
+}
+
int
AddRouteDialog::count ()
{
RouteGroup*
AddRouteDialog::route_group ()
{
- if (route_group_combo.get_active_row_number () == 2) {
+ if (!_session || route_group_combo.get_active_row_number () == 2) {
return 0;
}
route_group_combo.append_text (_("No Group"));
- _session->foreach_route_group (sigc::mem_fun (*this, &AddRouteDialog::add_route_group));
+ if (_session) {
+ _session->foreach_route_group (sigc::mem_fun (*this, &AddRouteDialog::add_route_group));
+ }
route_group_combo.set_active (2);
}
delete g;
route_group_combo.set_active (2);
} else {
- _session->add_route_group (g);
+ if (_session) {
+ _session->add_route_group (g);
+ }
add_route_group (g);
route_group_combo.set_active (3);
}