using namespace std;
using namespace PBD;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
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)
, configuration_label (_("Configuration:"))
, mode_label (_("Track mode:"))
, instrument_label (_("Instrument:"))
+ , reasonable_synth_id(0)
{
- set_session (s);
-
set_name ("AddRouteDialog");
- set_position (Gtk::WIN_POS_MOUSE);
set_modal (true);
set_skip_taskbar_hint (true);
set_resizable (false);
build_instrument_list ();
instrument_combo.set_model (instrument_list);
instrument_combo.pack_start (instrument_list_columns.name);
- instrument_combo.set_active (0);
+ instrument_combo.set_active (reasonable_synth_id);
instrument_combo.set_button_sensitivity (Gtk::SENSITIVITY_AUTO);
VBox* vbox = manage (new VBox);
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);
}
row[instrument_list_columns.info_ptr] = PluginInfoPtr ();
row[instrument_list_columns.name] = _("-none-");
+ uint32_t n = 1;
for (PluginInfoList::const_iterator i = all_plugs.begin(); i != all_plugs.end(); ++i) {
if (manager.get_status (*i) == PluginManager::Hidden) continue;
row = *(instrument_list->append());
row[instrument_list_columns.name] = (*i)->name;
row[instrument_list_columns.info_ptr] = *i;
+ if ((*i)->unique_id == "https://community.ardour.org/node/7596") {
+ reasonable_synth_id = n;
+ }
+ n++;
}
}
}