aboutsummaryrefslogtreecommitdiff
path: root/src/library_sdl.js
diff options
context:
space:
mode:
authorMichael J. Bishop <mbtyke@gmail.com>2013-02-21 23:46:44 -0500
committerMichael J. Bishop <mbtyke@gmail.com>2013-02-22 10:47:23 -0500
commita7d7dad8baefd2fae9f56ab46afe7af7fef215cd (patch)
tree4ddfeadc8de0da003b9dbc5c8fae63465c9b4af0 /src/library_sdl.js
parent122a07dd4f399b8985fafedf4e515b8484b17c3c (diff)
Added some SDL_Mixer calls:
- `Mix_Playing` - `Mix_Pause` - `Mix_Pause` - `Mix_Resume`
Diffstat (limited to 'src/library_sdl.js')
-rw-r--r--src/library_sdl.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/library_sdl.js b/src/library_sdl.js
index e02e1e62..1cb41071 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -1434,10 +1434,72 @@ var LibrarySDL = {
return (SDL.music.audio && !SDL.music.audio.paused) ? 1 : 0;
},
+ // http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_38.html#SEC38
+ // "Note: Does not check if the channel has been paused."
+ Mix_Playing: function(id) {
+ if (id === -1)
+ {
+ var count = 0;
+ for (var i = 0; i<SDL.audios.length;i++)
+ count += SDL.Mix_Playing(i);
+ return count;
+ }
+ var info = SDL.audios[id];
+ if (info && info.audio && !info.audio.playing)
+ return 1;
+ return 0;
+ },
+
+ Mix_Pause: function(id) {
+ if (id === -1)
+ {
+ for (var i = 0; i<SDL.audios.length;i++)
+ SDL.Mix_Pause(i);
+ return;
+ }
+ var info = SDL.audios[id];
+ if (info && info.audio)
+ {
+ console.log("paused " + id);
+ info.audio.pause();
+ }
+ },
+
+ // http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_39.html#SEC39
+ Mix_Paused: function(id) {
+ if (id === -1)
+ {
+ var pausedCount = 0;
+ for (var i = 0; i<SDL.audios.length;i++)
+ pausedCount += SDL.Mix_Paused(i);
+ return pausedCount;
+ }
+ var info = SDL.audios[id];
+ if (info && info.audio && info.audio.paused)
+ return 1;
+ return 0;
+ },
+
Mix_PausedMusic: function() {
return (SDL.music.audio && SDL.music.audio.paused) ? 1 : 0;
},
+ // http://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_33.html#SEC33
+ Mix_Resume: function(id) {
+ if (id === -1)
+ {
+ for (var i = 0; i<SDL.audios.length;i++)
+ SDL.Mix_Resume(i);
+ return;
+ }
+ var info = SDL.audios[id];
+ if (info && info.audio)
+ {
+ console.log("resumed " + id);
+ info.audio.play();
+ }
+ },
+
// SDL TTF
TTF_Init: function() { return 0 },