From 86578ea0cc1daef464953fdb80820d40a8167f78 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 10 Jul 2016 08:37:45 -0400 Subject: push2: first somewhat operational versions of menus --- libs/surfaces/push2/push2.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'libs/surfaces/push2/push2.h') diff --git a/libs/surfaces/push2/push2.h b/libs/surfaces/push2/push2.h index d1655d1d60..4ced88b67f 100644 --- a/libs/surfaces/push2/push2.h +++ b/libs/surfaces/push2/push2.h @@ -71,6 +71,7 @@ public: }; class P2GUI; +class Push2Menu; class Push2 : public ARDOUR::ControlProtocol , public AbstractUI @@ -107,6 +108,9 @@ class Push2 : public ARDOUR::ControlProtocol int root_octave() const { return _root_octave; } bool in_key() const { return _in_key; } + static const int cols; + static const int rows; + private: libusb_device_handle *handle; uint8_t frame_header[16]; @@ -124,8 +128,6 @@ class Push2 : public ARDOUR::ControlProtocol ModifierState modifier_state; - static const int cols; - static const int rows; static const int pixels_per_row; void do_request (Push2Request*); @@ -460,6 +462,7 @@ class Push2 : public ARDOUR::ControlProtocol void button_octave_up (); void button_octave_down (); void button_layout_press (); + void button_scale_press (); void start_shift (); void end_shift (); @@ -536,8 +539,17 @@ class Push2 : public ARDOUR::ControlProtocol bool percussion; void set_percussive_mode (bool); -}; + /* menus */ + Push2Menu* current_menu; + Push2Menu* drawn_menu; + Push2Menu* scale_menu; + + void build_scale_menu (); + void set_menu (Push2Menu*); + void show_scale_menu (); + void cancel_menu (); +}; } /* namespace */ -- cgit v1.2.3