X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Faudio%2Fsound_manager.hpp;h=c87f89013327f660cf811884bb55bb72f9795100;hb=d99e2443318865c0f379170b4ef2aa30f515b235;hp=a1b59d6c7b7d033bd3961096830feaaf1bdb3b9c;hpb=61fefdd27bed4650cfb515f2511c4fb3de393193;p=supertux.git diff --git a/src/audio/sound_manager.hpp b/src/audio/sound_manager.hpp index a1b59d6c7..c87f89013 100644 --- a/src/audio/sound_manager.hpp +++ b/src/audio/sound_manager.hpp @@ -1,3 +1,21 @@ +// $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__ @@ -9,8 +27,6 @@ #include #include "math/vector.hpp" -typedef void* SoundHandle; - class SoundFile; class SoundSource; class StreamSoundSource; @@ -34,6 +50,7 @@ public: * Convenience function to simply play a sound at a given position. */ void play(const std::string& name, const Vector& pos = Vector(-1, -1)); + void play_and_delete(SoundSource* source); void set_listener_position(const Vector& position); void set_listener_velocity(const Vector& velocity); @@ -41,9 +58,14 @@ public: void enable_music(bool music_enabled); void play_music(const std::string& filename, bool fade = false); void stop_music(float fadetime = 0); - + + bool is_music_enabled() { return music_enabled; } bool is_sound_enabled() { return sound_enabled; } + bool is_audio_enabled() { + return (device == 0 || context == 0 ? false : true); + } + void update(); private: