diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-10 17:13:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-10 17:13:55 +0000 |
commit | 01c1eeb279922a7b2a4f69ef40bf52dc0f6039c0 (patch) | |
tree | dab447b21a40d963e1274ef883de5ec502e4763a /libs/surfaces/mackie/mackie_control_protocol.h | |
parent | 893b468858a05f7ad9c344786e89d1414677c169 (diff) |
give MackieControlProtocol its own thread and make it parse incoming MIDI in that thread, as well as doing timeouts there too
git-svn-id: svn://localhost/ardour2/branches/3.0@11872 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/surfaces/mackie/mackie_control_protocol.h')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index 2aaa5d43e7..a7601e4bde 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -84,6 +84,8 @@ class MackieControlProtocol MackieControlProtocol(ARDOUR::Session &); virtual ~MackieControlProtocol(); + static MackieControlProtocol* instance() { return _instance; } + int set_active (bool yn); XMLNode& get_state (); @@ -315,6 +317,8 @@ class MackieControlProtocol private: + static MackieControlProtocol* _instance; + void create_surfaces (); void port_connected_or_disconnected (std::string, std::string, bool); bool control_in_use_timeout (Mackie::Surface*, Mackie::Control *, Mackie::Control *); @@ -364,6 +368,13 @@ class MackieControlProtocol int _modifier_state; Mackie::MackieMidiBuilder builder; + + typedef std::list<GSource*> PortSources; + PortSources port_sources; + + bool midi_input_handler (Glib::IOCondition ioc, MIDI::Port* port); + void clear_ports (); + }; #endif // ardour_mackie_control_protocol_h |