Skip to content

Commit f968739

Browse files
committed
upgrading SDL->projectM keydown handler updated for SDL2
1 parent 2a22314 commit f968739

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

src/libprojectM/sdltoprojectM.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@
4141
#ifdef WIN32
4242
#include <SDL.h>
4343
#else
44-
#include <SDL/SDL.h>
44+
#include <SDL2/SDL.h>
4545
#endif
4646

47-
inline projectMEvent sdl2pmEvent( SDL_Event event ) { \
47+
inline projectMEvent sdl2pmEvent( SDL_Event *event ) { \
4848

49-
switch ( event.type ) { \
50-
case SDL_VIDEORESIZE:
49+
switch ( event->type ) { \
50+
case SDL_WINDOWEVENT_RESIZED:
5151
return PROJECTM_VIDEORESIZE; \
5252
case SDL_KEYUP: \
5353
return PROJECTM_KEYUP; \
@@ -58,8 +58,8 @@ inline projectMEvent sdl2pmEvent( SDL_Event event ) { \
5858
} \
5959
} \
6060

61-
inline projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \
62-
switch ( keysym ) { \
61+
inline projectMKeycode sdl2pmKeycode( SDL_Keysym keysym ) { \
62+
switch ( keysym.sym ) { \
6363
case SDLK_F1: \
6464
return PROJECTM_K_F1; \
6565
case SDLK_F2: \
@@ -158,7 +158,7 @@ inline projectMKeycode sdl2pmKeycode( SDLKey keysym ) { \
158158
} \
159159
} \
160160

161-
inline projectMModifier sdl2pmModifier( SDLMod mod ) { \
161+
inline projectMModifier sdl2pmModifier( SDL_Keymod mod ) { \
162162
return PROJECTM_KMOD_LSHIFT; \
163163
} \
164164

src/projectM-sdl/projectM_SDL_main.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#endif
2626

2727
#include <projectM.hpp>
28+
#include <sdltoprojectM.h>
2829
#include <iostream>
2930
const float FPS = 60;
3031

@@ -57,6 +58,22 @@ int selectAudioInput(projectMApp *app) {
5758
return 1;
5859
}
5960

61+
void keyHandler(projectMApp *app, SDL_Event *sdl_evt) {
62+
projectMEvent evt;
63+
projectMKeycode key;
64+
projectMModifier mod;
65+
SDL_Keymod sdl_mod;
66+
67+
/** Translate into projectM codes and process */
68+
evt = sdl2pmEvent(sdl_evt);
69+
key = sdl2pmKeycode(sdl_evt->key.keysym);
70+
sdl_mod = SDL_GetModState();
71+
mod = sdl2pmModifier(sdl_mod);
72+
if (evt == PROJECTM_KEYDOWN) {
73+
app->pm->key_handler( evt, key, mod );
74+
}
75+
}
76+
6077
void renderFrame(projectMApp *app) {
6178
int i;
6279
short pcm_data[2][512];
@@ -65,30 +82,13 @@ void renderFrame(projectMApp *app) {
6582
SDL_PollEvent(&evt);
6683
switch (evt.type) {
6784
case SDL_KEYDOWN:
68-
// ...
85+
keyHandler(app, &evt);
6986
break;
7087
case SDL_QUIT:
7188
app->done = true;
7289
break;
7390
}
7491

75-
76-
// projectMEvent evt;
77-
// projectMKeycode key;
78-
// projectMModifier mod;
79-
//
80-
// /** Process SDL events */
81-
// SDL_Event event;
82-
// while ( SDL_PollEvent( &event ) ) {
83-
// /** Translate into projectM codes and process */
84-
// evt = sdl2pmEvent( event );
85-
// key = sdl2pmKeycode( event.key.keysym.sym );
86-
// mod = sdl2pmModifier( (SDLMod)event.key.keysym.mod );
87-
// if ( evt == PROJECTM_KEYDOWN ) {
88-
// pm->key_handler( evt, key, mod );
89-
// }
90-
// }
91-
9292
/** Produce some fake PCM data to stuff into projectM */
9393
for ( i = 0 ; i < 512 ; i++ ) {
9494
if ( i % 2 == 0 ) {
@@ -107,7 +107,7 @@ void renderFrame(projectMApp *app) {
107107
/** Add the waveform data */
108108
app->pm->pcm()->addPCM16(pcm_data);
109109

110-
glClearColor( 0.0, 0.5, 0.0, 0.0 );
110+
glClearColor( 0.0, 0.0, 0.0, 0.0 );
111111
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
112112

113113
app->pm->renderFrame();

0 commit comments

Comments
 (0)