summaryrefslogtreecommitdiff
path: root/gtk2_ardour/virtual_keyboard_window.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-10-20 18:29:23 +0200
committerRobin Gareus <robin@gareus.org>2019-10-20 18:29:23 +0200
commit9c00d6216ace1eb5f4d53b39d54b232ff7fca0e4 (patch)
treeb841c0637671db5e6f941edaaa543602536823de /gtk2_ardour/virtual_keyboard_window.h
parente63c2133e5310632ca4f3dad1e43cf41d24a0eff (diff)
Virtual-keyboard: add a pitch-bender
Diffstat (limited to 'gtk2_ardour/virtual_keyboard_window.h')
-rw-r--r--gtk2_ardour/virtual_keyboard_window.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/gtk2_ardour/virtual_keyboard_window.h b/gtk2_ardour/virtual_keyboard_window.h
index 65bc3b7517..59fd38c418 100644
--- a/gtk2_ardour/virtual_keyboard_window.h
+++ b/gtk2_ardour/virtual_keyboard_window.h
@@ -25,9 +25,12 @@
#include "pbd/signals.h"
#include "pbd/controllable.h"
+#include "gtkmm2ext/persistent_tooltip.h"
+
#include "widgets/ardour_button.h"
#include "widgets/ardour_dropdown.h"
#include "widgets/ardour_knob.h"
+#include "widgets/slider_controller.h"
#include "ardour_window.h"
#include "gtk_pianokeyboard.h"
@@ -38,10 +41,10 @@ namespace ARDOUR {
class VKBDControl : public PBD::Controllable {
public:
- VKBDControl (const std::string& name, double normal = 127)
+ VKBDControl (const std::string& name, double normal = 127, double upper = 127)
: PBD::Controllable (name, Flag(0))
, _lower (0)
- , _upper (127)
+ , _upper (upper)
, _normal (normal)
, _value (normal)
{}
@@ -103,11 +106,13 @@ private:
void note_on_event_handler (int, int);
void note_off_event_handler (int);
void control_change_event_handler (int, int);
+ void pitch_bend_event_handler (int);
void select_keyboard_layout (int);
void update_velocity_settings (int);
void bank_patch ();
void update_sensitivity ();
+ void pitch_slider_adjusted ();
bool toggle_config (GdkEventButton*);
bool toggle_bankpatch (GdkEventButton*);
bool toggle_yaxis_velocity (GdkEventButton*);
@@ -134,6 +139,11 @@ private:
Gtk::SpinButton _piano_min_velocity;
Gtk::SpinButton _piano_max_velocity;
+ boost::shared_ptr<VKBDControl> _pitchbend;
+ Gtk::Adjustment _pitch_adjustment;
+ ArdourWidgets::VSliderController* _pitch_slider;
+ Gtkmm2ext::PersistentTooltip* _pitch_slider_tooltip;
+
#define VKBD_NCTRLS 8
boost::shared_ptr<VKBDControl> _cc[VKBD_NCTRLS];