diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-11 02:54:25 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-11 02:54:25 +0000 |
commit | 261738d01e34c84a07fad3336ce5eca450017c0b (patch) | |
tree | fd26fdf7f78a608772a08fb1283c443ba9235d51 /libs/surfaces/mackie/mackie_control_protocol.h | |
parent | f387e834fd8966eff5f71955f013a905db9f7153 (diff) |
MCP: debug tracing, plus start of a new cleaner handling system for button handling
git-svn-id: svn://localhost/ardour2/branches/3.0@11880 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 | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index 0861c6fbb8..ab971e1b78 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -20,6 +20,7 @@ #define ardour_mackie_control_protocol_h #include <vector> +#include <map> #include <sys/time.h> #include <pthread.h> @@ -48,6 +49,7 @@ namespace Mackie { class Surface; class Control; class SurfacePort; + class Button; } /** @@ -377,6 +379,22 @@ class MackieControlProtocol bool midi_input_handler (Glib::IOCondition ioc, MIDI::Port* port); void clear_ports (); + struct ButtonHandlers { + Mackie::LedState (MackieControlProtocol::*press) (Mackie::Button&); + Mackie::LedState (MackieControlProtocol::*release) (Mackie::Button&); + + ButtonHandlers (Mackie::LedState (MackieControlProtocol::*p) (Mackie::Button&), + Mackie::LedState (MackieControlProtocol::*r) (Mackie::Button&)) + : press (p) + , release (r) {} + }; + + typedef std::map<int,ButtonHandlers> ButtonMap; + ButtonMap button_map; + + void build_button_map (); }; + + #endif // ardour_mackie_control_protocol_h |