From ed5ec5c193630c230e4a4d3a1a8b0f218381511b Mon Sep 17 00:00:00 2001 From: erdgeist Date: Mon, 16 Apr 2018 15:37:20 +0200 Subject: Add normalizing and pitch bending delay code --- main-sdl.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'main-sdl.c') diff --git a/main-sdl.c b/main-sdl.c index b61806b..2ac648c 100644 --- a/main-sdl.c +++ b/main-sdl.c @@ -34,7 +34,8 @@ enum { int g_harfe_connected = 0; int g_harfe_fd = -1; -static int g_up_pressed = 0, g_down_pressed = 0; +static int g_up_pressed, g_down_pressed, g_mouse_down; +static LPoint g_last_mouse; static char * find_harfe() @@ -387,6 +388,12 @@ handle_keydown(SDL_Event *ev) { write(g_harfe_fd, "ME20020\nM824C00\n", 16); } break; + case SDL_SCANCODE_N: + engine_toggle_normalize_mode(); + break; + case SDL_SCANCODE_P: + config_flip_pitch(); + break; case SDL_SCANCODE_Q: config_reset(); break; @@ -472,6 +479,8 @@ main(int argc, char **argv) if (ev.motion.state & SDL_BUTTON_LMASK) { LPoint p = { display_scale_screen_to_harfe(ev.motion.x), 768 - display_scale_screen_to_harfe(ev.motion.y) }; engine_handle_point(&p, now()); + g_last_mouse = p; + engine_mouse_y((65336 * (SCREEN_HEIGHT-ev.motion.y))/ SCREEN_HEIGHT); } break; case SDL_MOUSEBUTTONDOWN: @@ -479,12 +488,15 @@ main(int argc, char **argv) LPoint p = { display_scale_screen_to_harfe(ev.button.x), 768 - display_scale_screen_to_harfe(ev.button.y) }; if (menu_test_mouse_down(ev.button.x, ev.button.y)) engine_handle_point(&p, now()); + g_last_mouse = p; + g_mouse_down = 1; } break; case SDL_MOUSEBUTTONUP: { LPoint p = { display_scale_screen_to_harfe(ev.button.x), 768 - display_scale_screen_to_harfe(ev.button.y) }; menu_handle_button_up(ev.button.x, ev.button.y); + g_mouse_down = 0; } break; @@ -502,6 +514,9 @@ main(int argc, char **argv) break; } + if (g_mouse_down) + engine_handle_point(&g_last_mouse, now()); + if (!g_calibration_running || !g_importing_config) engine_checksilence(now()); -- cgit v1.2.3