X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Faudio%2Fsound_manager.hpp;h=921b859efb09e074ddd838c7d451e826d43a6488;hb=4a8b226d0f28a842900d4851e7223e746435f9de;hp=657ca06a32156ebe3d319126cd8fdf9089d26881;hpb=a113d3bd1feddd510e3b2852b0d42522735eee40;p=supertux.git diff --git a/src/audio/sound_manager.hpp b/src/audio/sound_manager.hpp index 657ca06a3..921b859ef 100644 --- a/src/audio/sound_manager.hpp +++ b/src/audio/sound_manager.hpp @@ -23,8 +23,8 @@ #include #include -#include -#include +#include +#include #include "math/vector.hpp" class SoundFile; @@ -43,8 +43,7 @@ public: * Creates a new sound source object which plays the specified soundfile. * You are responsible for deleting the sound source later (this will stop the * sound). - * This function might throw exceptions. It returns 0 if no audio device is - * available. + * This function never throws exceptions, but might return a DummySoundSource */ SoundSource* create_sound_source(const std::string& filename); /** @@ -70,7 +69,7 @@ public: bool is_sound_enabled() { return sound_enabled; } bool is_audio_enabled() { - return (device == 0 || context == 0 ? false : true); + return device != 0 && context != 0; } void update(); @@ -88,6 +87,8 @@ private: friend class OpenALSoundSource; friend class StreamSoundSource; + /** creates a new sound source, might throw exceptions, never returns NULL */ + OpenALSoundSource* intern_create_sound_source(const std::string& filename); static ALuint load_file_into_buffer(SoundFile* file); static ALenum get_sample_format(SoundFile* file);