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
This commit is contained in:
Paul Davis 2010-07-27 14:09:16 +00:00
parent fbc946d60d
commit ece5093234
34 changed files with 155 additions and 169 deletions

View file

@ -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);