+ if (is_track()) {
+ monitor_input_button->show ();
+ monitor_disk_button->show ();
+ } else {
+ monitor_input_button->hide();
+ monitor_disk_button->hide ();
+ }
+
+ if (is_midi_track()) {
+ if (midi_input_enable_button == 0) {
+ Image* img = manage (new Image (get_icon (X_("midi_socket_small"))));
+ midi_input_enable_button = manage (new StatefulToggleButton);
+ midi_input_enable_button->set_name ("MixerMidiInputEnableButton");
+ midi_input_enable_button->set_image (*img);
+ midi_input_enable_button->signal_button_press_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_press), false);
+ midi_input_enable_button->signal_button_release_event().connect (sigc::mem_fun (*this, &MixerStrip::input_active_button_release), false);
+ ARDOUR_UI::instance()->set_tip (midi_input_enable_button, _("Enable/Disable MIDI input"));
+ } else {
+ input_button_box.remove (*midi_input_enable_button);
+ }
+ /* get current state */
+ midi_input_status_changed ();
+ input_button_box.pack_start (*midi_input_enable_button, false, false);
+ /* follow changes */
+ midi_track()->InputActiveChanged.connect (route_connections, invalidator (*this), boost::bind (&MixerStrip::midi_input_status_changed, this), gui_context());
+ } else {
+ if (midi_input_enable_button) {
+ /* removal from the container will delete it */
+ input_button_box.remove (*midi_input_enable_button);
+ midi_input_enable_button = 0;
+ }
+ }
+