Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio.cc')
-rw-r--r--src/audio/audio.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/audio/audio.cc b/src/audio/audio.cc
index 8880780..1895d21 100644
--- a/src/audio/audio.cc
+++ b/src/audio/audio.cc
@@ -76,19 +76,17 @@ void play(const char *name)
size_t buffer = Buffers::load(std::string(name));
- ALint state;
for (size_t i = 0; i < MAXUISOURCES; i++) {
+ ALint srcstate = 0;
ALuint source = Sources::source(i);
- alGetSourcei(source , AL_SOURCE_STATE , &state);
- if (state != AL_PLAYING) {
- //alSourceRewind(Sources::source(i));
+ alGetSourcei(source , AL_SOURCE_STATE , &srcstate);
+ if (srcstate != AL_PLAYING) {
Buffers::bind(source, buffer);
alSourcef(source, AL_PITCH, 1.0);
alSourcef(source, AL_GAIN, 1.0);
+ alSourceRewind(source);
alSourcePlay(source);
-
- } else {
- con_debug << "source " << Sources::source(i) << " playing!" << std::endl;
+ return;
}
}
}