X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Faudio%2Fsound_manager.hpp;h=b2c5cc955707f0da3e49d990cfd9b4ee750a0589;hb=07ddaed2a657e4d2a3d038fed223fc5827159caf;hp=023416119d00d8d8989373fda6a05260e9446601;hpb=69f9e7f80e7c9e79f9da3672338aa08c447ebef2;p=supertux.git diff --git a/src/audio/sound_manager.hpp b/src/audio/sound_manager.hpp index 023416119..b2c5cc955 100644 --- a/src/audio/sound_manager.hpp +++ b/src/audio/sound_manager.hpp @@ -1,13 +1,32 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2006 Matthias Braun +// +// 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 __SOUND_MANAGER_H__ #define __SOUND_MANAGER_H__ -#include "math/vector.hpp" #include #include #include #include #include +#include "math/vector.hpp" typedef void* SoundHandle; @@ -35,11 +54,14 @@ public: */ void play(const std::string& name, const Vector& pos = Vector(-1, -1)); - void set_listener_position(Vector position); - void set_listener_velocity(Vector velocity); + void set_listener_position(const Vector& position); + void set_listener_velocity(const Vector& velocity); void enable_music(bool music_enabled); - void play_music(const std::string& filename, bool fade = true); + void play_music(const std::string& filename, bool fade = false); + void stop_music(float fadetime = 0); + + bool is_sound_enabled() { return sound_enabled; } void update(); @@ -47,7 +69,7 @@ private: friend class SoundSource; friend class StreamSoundSource; - static ALuint load_file_into_buffer(const std::string& filename); + static ALuint load_file_into_buffer(SoundFile* file); static ALenum get_sample_format(SoundFile* file); void print_openal_version(); @@ -64,7 +86,6 @@ private: SoundSources sources; StreamSoundSource* music_source; - StreamSoundSource* next_music_source; bool music_enabled; std::string current_music;