From fb862ef752f34230100a3db84b2eedd21ae06baf Mon Sep 17 00:00:00 2001 From: psperl Date: Tue, 4 Aug 2009 02:04:22 +0000 Subject: [PATCH] smooth preset support for test apps git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1259 6778bc44-b910-0410-a7a0-be141de4315d --- src/projectM-test/projectM-test-memleak.cpp | 2 +- src/projectM-test/projectM-test-texture.cpp | 2 +- src/projectM-test/projectM-test.cpp | 10 +- src/projectM-test/sdltoprojectM.h | 181 ++++++++++---------- 4 files changed, 100 insertions(+), 95 deletions(-) diff --git a/src/projectM-test/projectM-test-memleak.cpp b/src/projectM-test/projectM-test-memleak.cpp index 64f567e4b..3b11ea4e8 100644 --- a/src/projectM-test/projectM-test-memleak.cpp +++ b/src/projectM-test/projectM-test-memleak.cpp @@ -97,7 +97,7 @@ void renderLoop() { while (SDL_PollEvent(&event)) { /** Translate into projectM codes and process */ evt = sdl2pmEvent(event); - key = sdl2pmKeycode(event.key.keysym.sym); + key = sdl2pmKeycode(event.key.keysym.sym,event.key.keysym.mod); mod = sdl2pmModifier(event.key.keysym.mod); switch (evt) { diff --git a/src/projectM-test/projectM-test-texture.cpp b/src/projectM-test/projectM-test-texture.cpp index 42aae00fc..1fba8c4b1 100644 --- a/src/projectM-test/projectM-test-texture.cpp +++ b/src/projectM-test/projectM-test-texture.cpp @@ -97,7 +97,7 @@ void renderLoop() { while (SDL_PollEvent(&event)) { /** Translate into projectM codes and process */ evt = sdl2pmEvent(event); - key = sdl2pmKeycode(event.key.keysym.sym); + key = sdl2pmKeycode(event.key.keysym.sym, event.key.keysym.mod); mod = sdl2pmModifier(event.key.keysym.mod); switch (evt) { diff --git a/src/projectM-test/projectM-test.cpp b/src/projectM-test/projectM-test.cpp index abd461dd2..d67255460 100644 --- a/src/projectM-test/projectM-test.cpp +++ b/src/projectM-test/projectM-test.cpp @@ -107,7 +107,7 @@ void renderLoop() { while (SDL_PollEvent(&event)) { /** Translate into projectM codes and process */ evt = sdl2pmEvent(event); - key = sdl2pmKeycode(event.key.keysym.sym); + key = sdl2pmKeycode(event.key.keysym.sym, event.key.keysym.mod); mod = sdl2pmModifier(event.key.keysym.mod); switch (evt) { @@ -148,12 +148,12 @@ void renderLoop() { break; } } - fakePCM[0]=0; + fakePCM[0]=0; for (int x = 1; x< 512;x++) - { + { fakePCM[x] = fakePCM[x-1] + (rand()%200 - 100) *.002; - } - + } + globalPM->pcm()->addPCMfloat(fakePCM, 512); diff --git a/src/projectM-test/sdltoprojectM.h b/src/projectM-test/sdltoprojectM.h index 2ea08e2f0..eac853ec0 100644 --- a/src/projectM-test/sdltoprojectM.h +++ b/src/projectM-test/sdltoprojectM.h @@ -28,100 +28,105 @@ #include #endif -inline projectMEvent sdl2pmEvent( SDL_Event event ) { - - switch ( event.type ) { - case SDL_VIDEORESIZE: - return PROJECTM_VIDEORESIZE; - case SDL_KEYUP: - return PROJECTM_KEYUP; - case SDL_KEYDOWN: - return PROJECTM_KEYDOWN; - default: - return PROJECTM_KEYUP; - } - } +inline projectMEvent sdl2pmEvent( SDL_Event event ) { -projectMKeycode sdl2pmKeycode( SDLKey keysym ) { - switch ( keysym ) { - case SDLK_F1: - return PROJECTM_K_F1; - case SDLK_F2: - return PROJECTM_K_F2; - case SDLK_F3: - return PROJECTM_K_F3; - case SDLK_F4: - return PROJECTM_K_F4; - case SDLK_F5: - return PROJECTM_K_F5; - case SDLK_F6: - return PROJECTM_K_F6; - case SDLK_F7: - return PROJECTM_K_F7; - case SDLK_F8: - return PROJECTM_K_F8; - case SDLK_F9: - return PROJECTM_K_F9; - case SDLK_F10: - return PROJECTM_K_F10; - case SDLK_F11: - return PROJECTM_K_F11; - case SDLK_F12: - return PROJECTM_K_F12; - case SDLK_ESCAPE: - return PROJECTM_K_ESCAPE; + switch ( event.type ) { + case SDL_VIDEORESIZE: + return PROJECTM_VIDEORESIZE; + case SDL_KEYUP: + return PROJECTM_KEYUP; + case SDL_KEYDOWN: + return PROJECTM_KEYDOWN; + default: + return PROJECTM_KEYUP; + } + } + +projectMKeycode sdl2pmKeycode( SDLKey keysym, SDLMod mod) { + + bool caps = (mod == KMOD_LSHIFT) || + (mod == KMOD_RSHIFT) || + (mod == KMOD_CAPS); + + switch ( keysym ) { + case SDLK_F1: + return PROJECTM_K_F1; + case SDLK_F2: + return PROJECTM_K_F2; + case SDLK_F3: + return PROJECTM_K_F3; + case SDLK_F4: + return PROJECTM_K_F4; + case SDLK_F5: + return PROJECTM_K_F5; + case SDLK_F6: + return PROJECTM_K_F6; + case SDLK_F7: + return PROJECTM_K_F7; + case SDLK_F8: + return PROJECTM_K_F8; + case SDLK_F9: + return PROJECTM_K_F9; + case SDLK_F10: + return PROJECTM_K_F10; + case SDLK_F11: + return PROJECTM_K_F11; + case SDLK_F12: + return PROJECTM_K_F12; + case SDLK_ESCAPE: + return PROJECTM_K_ESCAPE; case SDLK_a: return PROJECTM_K_a; case SDLK_b: return PROJECTM_K_b; - case SDLK_c: + case SDLK_c: return PROJECTM_K_c; - case SDLK_d: - return PROJECTM_K_d; + case SDLK_d: + return PROJECTM_K_d; case SDLK_e: - return PROJECTM_K_e; - case SDLK_f: - return PROJECTM_K_f; - case SDLK_g: - return PROJECTM_K_g; - case SDLK_h: - return PROJECTM_K_h; - case SDLK_i: - return PROJECTM_K_i; + return PROJECTM_K_e; + case SDLK_f: + return PROJECTM_K_f; + case SDLK_g: + return PROJECTM_K_g; + case SDLK_h: + return PROJECTM_K_h; + case SDLK_i: + return PROJECTM_K_i; case SDLK_j: return PROJECTM_K_j; case SDLK_k: return PROJECTM_K_k; - case SDLK_l: + case SDLK_l: return PROJECTM_K_l; - case SDLK_m: - return PROJECTM_K_m; + case SDLK_m: + return PROJECTM_K_m; case SDLK_n: - return PROJECTM_K_n; - case SDLK_o: - return PROJECTM_K_o; - case SDLK_p: - return PROJECTM_K_p; - case SDLK_q: - return PROJECTM_K_q; - case SDLK_r: - return PROJECTM_K_r; - case SDLK_s: - return PROJECTM_K_s; + return caps ? PROJECTM_K_N : PROJECTM_K_n; + case SDLK_o: + return PROJECTM_K_o; + case SDLK_p: + return caps ? PROJECTM_K_P : PROJECTM_K_p; + case SDLK_q: + return PROJECTM_K_q; + case SDLK_r: + return caps ? PROJECTM_K_R : PROJECTM_K_r; + case SDLK_s: + return PROJECTM_K_s; case SDLK_t: - return PROJECTM_K_t; - case SDLK_u: - return PROJECTM_K_u; - case SDLK_v: - return PROJECTM_K_v; - case SDLK_w: - return PROJECTM_K_w; - case SDLK_x: - return PROJECTM_K_x; - case SDLK_y: - return PROJECTM_K_y; - case SDLK_z: - return PROJECTM_K_z; + return PROJECTM_K_t; + case SDLK_u: + return PROJECTM_K_u; + case SDLK_v: + return PROJECTM_K_v; + case SDLK_w: + return PROJECTM_K_w; + case SDLK_x: + return PROJECTM_K_x; + case SDLK_y: + return PROJECTM_K_y; + case SDLK_z: + return PROJECTM_K_z; case SDLK_UP: return PROJECTM_K_UP; case SDLK_RETURN: @@ -136,14 +141,14 @@ projectMKeycode sdl2pmKeycode( SDLKey keysym ) { return PROJECTM_K_PAGEUP; case SDLK_PAGEDOWN: return PROJECTM_K_PAGEDOWN; - - default: - return PROJECTM_K_NONE; - } - } -inline projectMModifier sdl2pmModifier( SDLMod mod ) { - return PROJECTM_KMOD_LSHIFT; - } + default: + return PROJECTM_K_NONE; + } + } + +inline projectMModifier sdl2pmModifier( SDLMod mod ) { + return PROJECTM_KMOD_LSHIFT; + } #endif /** _SDLTOPROJECTM_H */