+ sends_menu = 0;
+ record_menu = 0;
+ _invert_menu = 0;
+ pre_fader_mute_check = 0;
+ post_fader_mute_check = 0;
+ listen_mute_check = 0;
+ main_mute_check = 0;
+ solo_safe_check = 0;
+ solo_isolated_check = 0;
+ solo_isolated_led = 0;
+ solo_safe_led = 0;
+ _solo_release = 0;
+ _mute_release = 0;
+ route_active_menu_item = 0;
+ denormal_menu_item = 0;
+ step_edit_item = 0;
+ multiple_mute_change = false;
+ multiple_solo_change = false;
+ _i_am_the_modifier = 0;
+
+ setup_invert_buttons ();
+
+ mute_button = manage (new BindableToggleButton ());
+ // mute_button->set_self_managed (true);
+ mute_button->set_name ("MuteButton");
+ mute_button->add (mute_button_label);
+ mute_button_label.show ();
+ UI::instance()->set_tip (mute_button, _("Mute this track"), "");
+
+ solo_button = manage (new BindableToggleButton ());
+ // solo_button->set_self_managed (true);
+ solo_button->set_name ("SoloButton");
+ solo_button->add (solo_button_label);
+ solo_button_label.show ();
+ UI::instance()->set_tip (solo_button, _("Mute other (non-soloed) tracks"), "");
+ solo_button->set_no_show_all (true);
+
+ rec_enable_button = manage (new BindableToggleButton ());
+ rec_enable_button->set_name ("RecordEnableButton");
+ // rec_enable_button->set_self_managed (true);
+ rec_enable_button->add (rec_enable_button_label);
+ rec_enable_button_label.show ();
+ UI::instance()->set_tip (rec_enable_button, _("Enable recording on this track"), "");
+
+ show_sends_button = manage (new BindableToggleButton (""));
+ show_sends_button->set_name ("SendAlert");
+ // show_sends_button->set_self_managed (true);
+ UI::instance()->set_tip (show_sends_button, _("make mixer strips show sends to this bus"), "");
+
+ _session->SoloChanged.connect (_session_connections, invalidator (*this), boost::bind (&RouteUI::solo_changed_so_update_mute, this), gui_context());
+ _session->TransportStateChange.connect (_session_connections, invalidator (*this), boost::bind (&RouteUI::check_rec_enable_sensitivity, this), gui_context());
+ _session->RecordStateChanged.connect (_session_connections, invalidator (*this), boost::bind (&RouteUI::session_rec_enable_changed, this), gui_context());
+
+ Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&RouteUI::parameter_changed, this, _1), gui_context());
+
+ rec_enable_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::rec_enable_press), false);
+ rec_enable_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::rec_enable_release), false);
+
+ show_sends_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::show_sends_press), false);
+ show_sends_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::show_sends_release));
+
+ solo_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::solo_press), false);
+ solo_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::solo_release), false);
+ mute_button->signal_button_press_event().connect (sigc::mem_fun(*this, &RouteUI::mute_press), false);
+ mute_button->signal_button_release_event().connect (sigc::mem_fun(*this, &RouteUI::mute_release), false);
+}
+
+void
+RouteUI::reset ()
+{
+ route_connections.drop_connections ();
+
+ delete solo_menu;
+ solo_menu = 0;
+
+ delete mute_menu;
+ mute_menu = 0;
+
+ if (xml_node) {
+ /* do not delete the node - its owned by the route */
+ xml_node = 0;
+ }
+