introduce GUIObjectState; massive, pervasive changes in visibility and height managem...
[ardour.git] / gtk2_ardour / mixer_strip.h
index a24df0169660b2fb3aebbb82f474d9e5d8bb04aa..4ef0c2f223d6c63f392876c552b08211afc8a6aa 100644 (file)
@@ -37,6 +37,7 @@
 #include "gtkmm2ext/auto_spin.h"
 #include "gtkmm2ext/click_box.h"
 #include "gtkmm2ext/bindable_button.h"
+#include "gtkmm2ext/stateful_button.h"
 
 #include "pbd/stateful.h"
 
@@ -117,6 +118,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
        static sigc::signal<void,boost::shared_ptr<ARDOUR::Route> > SwitchIO;
        static PBD::Signal1<void,MixerStrip*> CatchDeletion;
 
+       std::string state_id() const;
+
   protected:
        friend class Mixer_UI;
        void set_packed (bool yn);
@@ -178,12 +181,18 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
        Gtk::Label  diskstream_label;
 
        Gtk::Button input_button;
+       Gtkmm2ext::StatefulToggleButton* midi_input_enable_button;
+       Gtk::HBox   input_button_box;
        Gtk::Label  input_label;
        Gtk::Button output_button;
        Gtk::Label  output_label;
 
        std::string longest_label;
 
+       void midi_input_status_changed ();
+       bool input_active_button_press (GdkEventButton*);
+       bool input_active_button_release (GdkEventButton*);
+
        gint    mark_update_safe ();
        guint32 mode_switch_in_progress;