fixed type :) yeah, the really important commit today! :)
[supertux.git] / lib / audio / sound.h
1 //  $Id$
2 //
3 //  SuperTux -  A Jump'n Run
4 //  Copyright (C) 2000 Bill Kendrick <bill@newbreedsoftware.com>
5 //  Copyright (C) 2004 Duong-Khang NGUYEN <neoneurone@users.sf.net>
6 //
7 //  This program is free software; you can redistribute it and/or
8 //  modify it under the terms of the GNU General Public License
9 //  as published by the Free Software Foundation; either version 2
10 //  of the License, or (at your option) any later version.
11 //
12 //  This program is distributed in the hope that it will be useful,
13 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 //  GNU General Public License for more details.
16 //
17 //  You should have received a copy of the GNU General Public License
18 //  along with this program; if not, write to the Free Software
19 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 #ifndef SUPERTUX_SOUND_H
22 #define SUPERTUX_SOUND_H
23
24 //#include "defines.h"     /* get YES/NO defines */
25 #include <vector>
26
27 /*global variable*/
28 extern bool use_sound;           /* handle sound on/off menu and command-line option */
29 extern bool use_music;           /* handle music on/off menu and command-line */
30 extern bool audio_device;        /* != 0: available and initialized */
31
32 /* enum of different internal music types */
33 enum Music_Type {
34   NO_MUSIC,
35   LEVEL_MUSIC,
36   HURRYUP_MUSIC,
37   HERRING_MUSIC
38 };
39
40 #include <string>
41 #include <SDL_mixer.h>
42
43 /* variables for stocking the sound and music */
44 extern std::vector<Mix_Chunk*> sounds;
45
46 /* functions handling the sound and music */
47 int open_audio(int frequency, Uint16 format, int channels, int chunksize);
48 void close_audio( void );
49
50 Mix_Chunk * load_sound(const std::string& file);
51 void free_chunk(Mix_Chunk*chunk);
52
53 #endif /*SUPERTUX_SOUND_H*/