X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fmidi_ui.h;h=51e3ca254458392fefd485b26c736ef64c56fa64;hb=16f91163e5989ebdd224fbbe976e10e24b778d06;hp=e1f322ddd105fe1cf491d19c9c9ed08460c673eb;hpb=c38e02285fda1fd7966c9e4ad85994445247e6a6;p=ardour.git diff --git a/libs/ardour/ardour/midi_ui.h b/libs/ardour/ardour/midi_ui.h index e1f322ddd1..51e3ca2544 100644 --- a/libs/ardour/ardour/midi_ui.h +++ b/libs/ardour/ardour/midi_ui.h @@ -2,10 +2,12 @@ #define __libardour_midi_ui_h__ #include + #include "pbd/abstract_ui.h" +#include "pbd/signals.h" -namespace MIDI { - class port; +namespace MIDI { + class Port; } namespace ARDOUR { @@ -28,23 +30,28 @@ class MidiControlUI : public AbstractUI public: MidiControlUI (Session& s); ~MidiControlUI (); - + + static MidiControlUI* instance() { return _instance; } + static BaseUI::RequestType PortChange; - + void change_midi_ports (); - + protected: void thread_init (); void do_request (MidiUIRequest*); - + private: - typedef std::list > PortSources; + typedef std::list PortSources; PortSources port_sources; ARDOUR::Session& _session; - + PBD::ScopedConnection rebind_connection; + bool midi_input_handler (Glib::IOCondition, MIDI::Port*); void reset_ports (); void clear_ports (); + + static MidiControlUI* _instance; }; }