[pypy-svn] r62696 - in pypy/trunk/pypy/rlib/rsdl: . test

santagada at codespeak.net santagada at codespeak.net
Sat Mar 7 13:34:08 CET 2009


Author: santagada
Date: Sat Mar  7 13:34:08 2009
New Revision: 62696

Added:
   pypy/trunk/pypy/rlib/rsdl/test/applause.wav   (contents, props changed)
Modified:
   pypy/trunk/pypy/rlib/rsdl/RMix.py
   pypy/trunk/pypy/rlib/rsdl/test/test_sdl_mixer.py
Log:
exposing 3 more functions of sdl_mixer, and a new test (is it okay to time.sleep during a test?)

Modified: pypy/trunk/pypy/rlib/rsdl/RMix.py
==============================================================================
--- pypy/trunk/pypy/rlib/rsdl/RMix.py	(original)
+++ pypy/trunk/pypy/rlib/rsdl/RMix.py	Sat Mar  7 13:34:08 2009
@@ -8,7 +8,7 @@
     eci = ExternalCompilationInfo(
         includes = ['SDL_mixer.h'],
         frameworks = ['SDL_mixer'],
-        include_dirs = ['/Library/Frameworks/SDL_Mixer.framework/Versions/A/Headers']
+        include_dirs = ['/Library/Frameworks/SDL_Mixer.framework/Headers']
     )
 else:
     eci = ExternalCompilationInfo(
@@ -38,11 +38,16 @@
 
 CloseAudio = external('Mix_CloseAudio', [], lltype.Void)
 
-_LoadWAV   = external('Mix_LoadWAV_RW',
+LoadWAV_RW   = external('Mix_LoadWAV_RW',
                      [RSDL.RWopsPtr, rffi.INT],
                      ChunkPtr)
 
 def LoadWAV(filename_ccharp):
-    _LoadWAV(RSDL.RWFromFile(filename_ccharp, rffi.str2charp('rb')), 1)
+    return LoadWAV_RW(RSDL.RWFromFile(filename_ccharp, rffi.str2charp('rb')), 1)
 
+PlayChannelTimed = external('Mix_PlayChannelTimed',
+                       [rffi.INT, ChunkPtr, rffi.INT, rffi.INT],
+                       rffi.INT)
 
+def PlayChannel(channel,chunk,loops):
+    return PlayChannelTimed(channel, chunk, loops, -1)

Added: pypy/trunk/pypy/rlib/rsdl/test/applause.wav
==============================================================================
Binary file. No diff available.

Modified: pypy/trunk/pypy/rlib/rsdl/test/test_sdl_mixer.py
==============================================================================
--- pypy/trunk/pypy/rlib/rsdl/test/test_sdl_mixer.py	(original)
+++ pypy/trunk/pypy/rlib/rsdl/test/test_sdl_mixer.py	Sat Mar  7 13:34:08 2009
@@ -1,4 +1,6 @@
-import py, os
+import py
+import os
+import time
 import autopath
 from pypy.rlib.rsdl import RSDL, RMix, RSDL_helper
 from pypy.rpython.lltypesystem import lltype, rffi
@@ -13,7 +15,19 @@
     if RMix.OpenAudio(22050, RSDL.AUDIO_S16LSB, 2, 1024) != 0:
         error = rffi.charp2str(RSDL.GetError())
         raise Exception(error)
-    filename = rffi.str2charp('test.wav')
+    filename = rffi.str2charp('applause.wav')
     RMix.LoadWAV(filename)
     rffi.free_charp(filename)
     RMix.CloseAudio()
+
+def test_play_wav():
+    if RMix.OpenAudio(22050, RSDL.AUDIO_S16LSB, 2, 1024) != 0:
+        error = rffi.charp2str(RSDL.GetError())
+        raise Exception(error)
+    filename = rffi.str2charp('applause.wav')
+    applause = RMix.LoadWAV(filename)
+    rffi.free_charp(filename)
+    RMix.PlayChannel(-1, applause, -1)
+    time.sleep(1)
+    RMix.CloseAudio()
+



More information about the Pypy-commit mailing list