}
void
-SoundManager::stop_music(bool fade)
+SoundManager::stop_music(float fadetime)
{
- if(fade) {
+ if(fadetime > 0) {
if(music_source
&& music_source->get_fade_state() != StreamSoundSource::FadingOff)
- music_source->set_fading(StreamSoundSource::FadingOff, .5f);
+ music_source->set_fading(StreamSoundSource::FadingOff, fadetime);
} else {
delete music_source;
music_source = 0;
void
SoundManager::play_music(const std::string& filename, bool fade)
{
- if(filename == current_music)
+ if(filename == current_music && music_source != NULL)
return;
current_music = filename;
if(!music_enabled)
return;
+ if(filename == "") {
+ delete music_source;
+ music_source = 0;
+ return;
+ }
+
try {
std::auto_ptr<StreamSoundSource> newmusic (new StreamSoundSource());
alSourcef(newmusic->source, AL_ROLLOFF_FACTOR, 0);
std::cout << "OpenAL Vendor: " << alGetString(AL_VENDOR) << "\n"
<< "OpenAL Version: " << alGetString(AL_VERSION) << "\n"
<< "OpenAL Renderer: " << alGetString(AL_RENDERER) << "\n"
- << "OpenAl Extensions: " << alGetString(AL_RENDERER) << "\n";
+ << "OpenAl Extensions: " << alGetString(AL_EXTENSIONS) << "\n";
}
void