diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-07-10 08:37:45 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-09-27 14:59:30 -0500 |
commit | 86578ea0cc1daef464953fdb80820d40a8167f78 (patch) | |
tree | b1f626a0e11f5db70516c59cba9837664a0e953c /libs/surfaces/push2/push2.h | |
parent | b37531e04f1f8786ffcc8599759aa93411d42c1b (diff) |
push2: first somewhat operational versions of menus
Diffstat (limited to 'libs/surfaces/push2/push2.h')
-rw-r--r-- | libs/surfaces/push2/push2.h | 18 |
1 files changed, 15 insertions, 3 deletions
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<Push2Request> @@ -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 */ |