diff pytouhou/ui/gamerunner.py @ 421:b1248bab2d0f

Add back music and SFX playback using SDL_mixer instead of pyglet, and add FLAC and Vorbis support.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Tue, 16 Jul 2013 21:07:15 +0200
parents 3a7b36324611
children 52829ebe2561
line wrap: on
line diff
--- a/pytouhou/ui/gamerunner.py
+++ b/pytouhou/ui/gamerunner.py
@@ -89,6 +89,8 @@ class GameRunner(GameRenderer):
 
         sdl.init(sdl.INIT_VIDEO)
         sdl.img_init(sdl.INIT_PNG)
+        sdl.mix_init(0)
+
         sdl.gl_set_attribute(sdl.GL_CONTEXT_MAJOR_VERSION, 2)
         sdl.gl_set_attribute(sdl.GL_CONTEXT_MINOR_VERSION, 1)
         sdl.gl_set_attribute(sdl.GL_DOUBLEBUFFER, int(double_buffer))
@@ -101,6 +103,9 @@ class GameRunner(GameRenderer):
                               sdl.WINDOW_OPENGL | sdl.WINDOW_SHOWN)
         self.win.gl_create_context()
 
+        sdl.mix_open_audio(44100, sdl.DEFAULT_FORMAT, 2, 4096)
+        sdl.mix_allocate_channels(26) #TODO: make it dependent on the SFX number.
+
         self.fps_limit = fps_limit
         self.use_fixed_pipeline = fixed_pipeline
         self.replay_level = None
@@ -189,6 +194,8 @@ class GameRunner(GameRenderer):
 
         self.win.gl_delete_context()
         self.win.destroy_window()
+        sdl.mix_close_audio()
+        sdl.mix_quit()
         sdl.img_quit()
         sdl.quit()