X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsound.h;h=d38b1ff5ae202cbd5bcb2d0e97540b02456fdde5;hb=157cef71aeb9ae25b7bb90f37dda11bc09329d11;hp=1a867b2f6c6a50ab0073f8fbe1b7c8e54c7b55db;hpb=e59a8e5e758978341d5410f09b705c4e969dc9a0;p=supertux.git diff --git a/src/sound.h b/src/sound.h index 1a867b2f6..d38b1ff5a 100644 --- a/src/sound.h +++ b/src/sound.h @@ -1,30 +1,32 @@ -/* - sound.h - - Super Tux - Audio Functions - - by Bill Kendrick - bill@newbreedsoftware.com - http://www.newbreedsoftware.com/supertux/ - - April 22, 2000 - March 15, 2004 - - Current maintainer: - Duong-Khang NGUYEN -*/ +// $Id$ +// +// SuperTux - A Jump'n Run +// Copyright (C) 2000 Bill Kendrick +// Copyright (C) 2004 Duong-Khang NGUYEN +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef SUPERTUX_SOUND_H #define SUPERTUX_SOUND_H #include "defines.h" /* get YES/NO defines */ -/* used to reserve some channels for panning effects */ -#define SOUND_RESERVED_CHANNELS 2 - /*global variable*/ -extern int use_sound; /* handle sound on/off menu and command-line option */ -extern int use_music; /* handle music on/off menu and command-line option */ -extern int audio_device; /* != 0: available and initialized */ +extern bool use_sound; /* handle sound on/off menu and command-line option */ +extern bool use_music; /* handle music on/off menu and command-line */ +extern bool audio_device; /* != 0: available and initialized */ /* enum of different internal music types */ enum Music_Type { @@ -34,11 +36,11 @@ enum Music_Type { HERRING_MUSIC }; - /* panning effects: terrible :-) ! */ enum Sound_Speaker { SOUND_LEFT_SPEAKER = 0, SOUND_RIGHT_SPEAKER = 1, + SOUND_RESERVED_CHANNELS = 2, // 2 channels reserved for left/right speaker SOUND_CENTER_SPEAKER = -1 }; @@ -62,6 +64,7 @@ enum { SND_LIFEUP, SND_STOMP, SND_KICK, + SND_EXPLODE, NUM_SOUNDS }; @@ -71,25 +74,14 @@ extern char* soundfilenames[NUM_SOUNDS]; #include /* variables for stocking the sound and music */ -extern Mix_Chunk * sounds[NUM_SOUNDS]; -extern Mix_Music * level_song, * level_song_fast, * herring_song; +extern Mix_Chunk* sounds[NUM_SOUNDS]; /* functions handling the sound and music */ int open_audio(int frequency, Uint16 format, int channels, int chunksize); void close_audio( void ); Mix_Chunk * load_sound(const std::string& file); -void play_sound(Mix_Chunk * snd, enum Sound_Speaker whichSpeaker); -Mix_Music * load_song(const std::string& file); - -int playing_music(void); -int halt_music(void); -int play_music(Mix_Music*music, int loops); -void free_music(Mix_Music*music); void free_chunk(Mix_Chunk*chunk); - -int get_current_music(); -void set_current_music(int music); -void play_current_music(); +void play_sound(Mix_Chunk * snd, enum Sound_Speaker whichSpeaker); #endif /*SUPERTUX_SOUND_H*/