diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-27 14:09:16 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-27 14:09:16 +0000 |
commit | ece5093234e4c185cf536d2b4e5edfeb90622409 (patch) | |
tree | de566ed8a317eaac10b13c6e06a11ab3f68c97e7 /gtk2_ardour/canvas-program-change.cc | |
parent | fbc946d60dbe68016abcc386932b35c4ef4ba1af (diff) |
change Control::{set,get}_float to Control::{set,get}_double and make almost all Control-related stuff use double rather than random mixtures of float, double and some integer value ; make hans' program change stuff work quite a bit better (not finished yet) including keyboard edting of pgm change values
git-svn-id: svn://localhost/ardour2/branches/3.0@7514 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/canvas-program-change.cc')
-rw-r--r-- | gtk2_ardour/canvas-program-change.cc | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/gtk2_ardour/canvas-program-change.cc b/gtk2_ardour/canvas-program-change.cc index 27a163ef7c..77169ce8ec 100644 --- a/gtk2_ardour/canvas-program-change.cc +++ b/gtk2_ardour/canvas-program-change.cc @@ -20,7 +20,7 @@ CanvasProgramChange::CanvasProgramChange( double y, string& model_name, string& custom_device_mode, - nframes_t event_time, + double event_time, uint8_t channel, uint8_t program) : CanvasFlag( @@ -113,11 +113,28 @@ CanvasProgramChange::on_event(GdkEvent* ev) initialize_popup_menus(); _popup_initialized = true; } - _popup.popup(ev->button.button, ev->button.time); + _popup.popup(ev->button.button, ev->button.time); return true; } break; + case GDK_KEY_PRESS: + switch (ev->key.keyval) { + case GDK_Up: + case GDK_KP_Up: + case GDK_uparrow: + _region.previous_program(*this); + break; + case GDK_Down: + case GDK_KP_Down: + case GDK_downarrow: + _region.next_program(*this); + break; + default: + break; + } + break; + case GDK_SCROLL: if (ev->scroll.direction == GDK_SCROLL_UP) { _region.previous_program(*this); |