diff options
| author | Alon Zakai <alonzakai@gmail.com> | 2012-03-27 17:15:02 -0700 | 
|---|---|---|
| committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-27 17:15:02 -0700 | 
| commit | 802ec1c46dc987139e47999ac86950034c91cf62 (patch) | |
| tree | 7f253af199706a465d6aa2db76638b5e1423b694 /src | |
| parent | f0afec555ecd538f92068495d64ddc027e237a77 (diff) | |
SDL music stuff
Diffstat (limited to 'src')
| -rw-r--r-- | src/library_sdl.js | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/src/library_sdl.js b/src/library_sdl.js index b72e239b..c176fa68 100644 --- a/src/library_sdl.js +++ b/src/library_sdl.js @@ -409,6 +409,9 @@ mergeInto(LibraryManager.library, {    },    SDL_Quit: function() { +    for (var i = 0; i < SDL.audios; i++) { +      SDL.audios[i].pause(); +    }      Module.print('SDL_Quit called (and ignored)');    }, @@ -762,10 +765,12 @@ mergeInto(LibraryManager.library, {    Mix_FreeMusic: 'Mix_FreeChunk',    Mix_PlayMusic: function(id, loops) { +    loops = Math.min(1, loops);      if (loops == 0) return;      var audio = SDL.audios[id].audio; -    audio.loop = loop != 1; // TODO: handle N loops for finite N +    audio.loop = loops != 1; // TODO: handle N loops for finite N      audio.play(); +    SDL.music = audio;      return 0;    }, @@ -781,15 +786,17 @@ mergeInto(LibraryManager.library, {      return 0;    }, -  Mix_HaltMusic: function(id) { -    var audio = SDL.audios[id].audio; -    audio.pause(); // TODO: actually rewind to the beginning +  Mix_HaltMusic: function() { +    var audio = SDL.music; +    audio.src = audio.src; // rewind +    audio.pause(); +    SDL.music = null;      return 0;    },    Mix_FadeInMusicPos: 'Mix_PlayMusic', // XXX ignore fading in effect -  Mix_FadeOutMusic: function(id) {}, // TODO +  Mix_FadeOutMusic: 'Mix_HaltMusic', // XXX ignore fading out effect    // SDL TTF | 
