#include <vorbis/vorbisfile.h>
#include <string.h>
+#include <stdlib.h>
#include "text.h"
#include "config.h"
if (ov_open(fp, &V->vf, NULL, 0) == 0)
{
vorbis_info *info = ov_info(&V->vf, -1);
-
+
/* On success, configure the voice. */
V->amp = a;
}
}
-void audio_music_queue(const char *filename)
+void audio_music_queue(const char *filename, float t)
{
if (audio_state)
{
if ((queue = voice_init(filename, 0.0f)))
{
queue->loop = 1;
+
+ if (t > 0.0f)
+ queue->damp = +1.0f / (AUDIO_RATE * t);
}
}
SDL_UnlockAudio();
{
if (music)
{
- if (strcmp(filename, music->name))
+ if (strcmp(filename, music->name) != 0)
{
- audio_music_queue(filename);
audio_music_fade_out(t);
-
- if (queue) queue->damp = +1.0f / (AUDIO_RATE * t);
+ audio_music_queue(filename, t);
}
else audio_music_fade_in(t);
}