diff options
| author | Alon Zakai <alonzakai@gmail.com> | 2012-03-27 17:49:34 -0700 | 
|---|---|---|
| committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-27 17:49:34 -0700 | 
| commit | b0fa1cad4ac08851fdfa6bb7594212d03af650d6 (patch) | |
| tree | 62f0ae8f70d8300340da5527f6ec66e79c8dd3df /src/library_sdl.js | |
| parent | 802ec1c46dc987139e47999ac86950034c91cf62 (diff) | |
sdl music fixes
Diffstat (limited to 'src/library_sdl.js')
| -rw-r--r-- | src/library_sdl.js | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/src/library_sdl.js b/src/library_sdl.js index c176fa68..d9cc16c9 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -728,7 +728,7 @@ mergeInto(LibraryManager.library, {    },    Mix_HookMusicFinished: function(func) { -    SDL.hookMusicFinished = func; // TODO: use this +    SDL.hookMusicFinished = func;    },    Mix_VolumeMusic: function(func) { @@ -765,8 +765,7 @@ mergeInto(LibraryManager.library, {    Mix_FreeMusic: 'Mix_FreeChunk',    Mix_PlayMusic: function(id, loops) { -    loops = Math.min(1, loops); -    if (loops == 0) return; +    loops = Math.max(loops, 1);      var audio = SDL.audios[id].audio;      audio.loop = loops != 1; // TODO: handle N loops for finite N      audio.play(); @@ -788,9 +787,13 @@ mergeInto(LibraryManager.library, {    Mix_HaltMusic: function() {      var audio = SDL.music; +    if (!audio) return 0;      audio.src = audio.src; // rewind      audio.pause();      SDL.music = null; +    if (SDL.hookMusicFinished) { +      FUNCTION_TABLE[SDL.hookMusicFinished](); +    }      return 0;    }, | 
