diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-13 16:11:55 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-04-13 16:11:55 +0000 |
commit | 8f7fa7d93b47665c14e452b06e0fb017d0dd653d (patch) | |
tree | 82fd92bd3231aeea8f724390a567d776dfd18607 /libs/surfaces/mackie/mackie_control_protocol.h | |
parent | f511b7cc6b504926b8885aeb8fc7bafd1212887a (diff) |
MCP: timeout display of value when altering with fader or pot; range ops on strip buttons should work; select logic may be broken
git-svn-id: svn://localhost/ardour2/branches/3.0@11959 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 | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h index ed2472f2fd..18919954c4 100644 --- a/libs/surfaces/mackie/mackie_control_protocol.h +++ b/libs/surfaces/mackie/mackie_control_protocol.h @@ -30,9 +30,7 @@ #include <glibmm/thread.h> #include "pbd/abstract_ui.h" - #include "midi++/types.h" - #include "ardour/types.h" #include "control_protocol/control_protocol.h" @@ -148,8 +146,6 @@ class MackieControlProtocol void* get_gui () const; void tear_down_gui (); - void select_track (boost::shared_ptr<ARDOUR::Route> r); - void handle_button_event (Mackie::Surface&, Mackie::Button& button, Mackie::ButtonState); void notify_route_added (ARDOUR::RouteList &); @@ -184,21 +180,15 @@ class MackieControlProtocol int modifier_state() const { return _modifier_state; } + typedef std::list<boost::shared_ptr<ARDOUR::AutomationControl> > ControlList; + + void add_down_button (ARDOUR::AutomationType, int surface, int strip); + void remove_down_button (ARDOUR::AutomationType, int surface, int strip); + ControlList down_controls (ARDOUR::AutomationType); + void add_down_select_button (int surface, int strip); void remove_down_select_button (int surface, int strip); - bool select_range (); - - void add_down_solo_button (int surface, int strip); - void remove_down_solo_button (int surface, int strip); - bool solo_range (); - - void add_down_mute_button (int surface, int strip); - void remove_down_mute_button (int surface, int strip); - bool mute_range (); - - void add_down_recenable_button (int surface, int strip); - void remove_down_recenable_button (int surface, int strip); - bool recenable_range (); + void select_range (); protected: // shut down the surface @@ -302,14 +292,15 @@ class MackieControlProtocol void gui_track_selection_changed (ARDOUR::RouteNotificationListPtr); + /* BUTTON HANDLING */ - - std::list<uint32_t> _down_select_buttons; - std::list<uint32_t> _down_solo_buttons; - std::list<uint32_t> _down_mute_buttons; - std::list<uint32_t> _down_recenable_buttons; - void pull_route_range (std::list<uint32_t>& down, std::vector<boost::shared_ptr<ARDOUR::Route> >& selected); + typedef std::list<uint32_t> DownButtonList; + typedef std::map<ARDOUR::AutomationType,DownButtonList> DownButtonMap; + DownButtonMap _down_buttons; + DownButtonList _down_select_buttons; + + void pull_route_range (DownButtonList&, ARDOUR::RouteList&); /* implemented button handlers */ Mackie::LedState frm_left_press(Mackie::Button &); |