summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/sound.h
Unidiff
Diffstat (limited to 'noncore/games/sfcave-sdl/sound.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/sound.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/noncore/games/sfcave-sdl/sound.h b/noncore/games/sfcave-sdl/sound.h
new file mode 100644
index 0000000..d46b5bc
--- a/dev/null
+++ b/noncore/games/sfcave-sdl/sound.h
@@ -0,0 +1,35 @@
1#ifndef __SOUND_H
2#define __SOUND_H
3
4#include <SDL.h>
5#include "SDL_mixer.h"
6
7#define NR_SOUNDS 3
8
9class SoundHandler
10{
11public:
12 static bool init();
13 static void cleanUp();
14
15 static int playSound( int soundNr, int channel = -1, int nrLoops = 0, int playBeforeFinished = false );
16 static void stopSound( int channel, bool fadeOut, int nrMilliSecs = 1000 );
17 static void setSoundsOn( bool val );
18 static void setMusicOn( bool val );
19 static void playMusic( string musicFile );
20 static void playMusic( bool fadeIn = false );
21 static void stopMusic( bool fadeOut = false );
22 static void setMusicVolume( int vol );
23
24
25private:
26 static Mix_Music *music;
27 static Mix_Chunk *sounds[NR_SOUNDS];
28 static int soundChannels[NR_SOUNDS];
29 static bool soundOn;
30 static bool musicOn;
31
32 SoundHandler() {}
33};
34
35#endif