summaryrefslogtreecommitdiff
path: root/libs/surfaces/mackie/mackie_control_protocol.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-04-13 16:11:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-04-13 16:11:55 +0000
commit8f7fa7d93b47665c14e452b06e0fb017d0dd653d (patch)
tree82fd92bd3231aeea8f724390a567d776dfd18607 /libs/surfaces/mackie/mackie_control_protocol.h
parentf511b7cc6b504926b8885aeb8fc7bafd1212887a (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.h37
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 &);