2525#endif
2626
2727#include < projectM.hpp>
28+ #include < sdltoprojectM.h>
2829#include < iostream>
2930const 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+
6077void 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