summaryrefslogtreecommitdiff
path: root/libs/surfaces/push2/push2.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-10 15:22:16 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:31 -0500
commitccbe1797d650861bc006ab23abaf891e76049659 (patch)
tree8113835116688243b2812d11ddbf360be241e7fc /libs/surfaces/push2/push2.h
parenta4324d79a7278d0fb89db3f266b1cdfe6e2ee14b (diff)
push2: color palette management, and responding to 2 track properties in TrackMix layout
Diffstat (limited to 'libs/surfaces/push2/push2.h')
-rw-r--r--libs/surfaces/push2/push2.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/surfaces/push2/push2.h b/libs/surfaces/push2/push2.h
index b94126867d..eb6fc49e7a 100644
--- a/libs/surfaces/push2/push2.h
+++ b/libs/surfaces/push2/push2.h
@@ -21,6 +21,7 @@
#include <vector>
#include <map>
+#include <stack>
#include <list>
#include <set>
@@ -327,6 +328,8 @@ class Push2 : public ARDOUR::ControlProtocol
void write (const MidiByteArray&);
+ uint8_t get_color_index (uint32_t rgb);
+
static const int cols;
static const int rows;
@@ -532,6 +535,14 @@ class Push2 : public ARDOUR::ControlProtocol
bool percussion;
void set_percussive_mode (bool);
+
+ /* color map */
+
+ typedef std::map<uint32_t,uint8_t> ColorMap;
+ typedef std::stack<uint8_t> ColorMapFreeList;
+ ColorMap color_map;
+ ColorMapFreeList color_map_free_list;
+ void build_color_map ();
};
} /* namespace */