Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-10-16 16:34:15 +0000
committerStijn Buys <ingar@osirion.org>2008-10-16 16:34:15 +0000
commit1a28393dabf4f4696bf433ddde52e7a25253c955 (patch)
tree4d4fa4034f30fc882a78ab6ea148a32e83b9e88c /src/audio/sources.cc
parent1e0df536c2fae85c317ce9c3cc17603d5f98c911 (diff)
various user interface related updates
Diffstat (limited to 'src/audio/sources.cc')
-rw-r--r--src/audio/sources.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/audio/sources.cc b/src/audio/sources.cc
index 584f366..01fbafb 100644
--- a/src/audio/sources.cc
+++ b/src/audio/sources.cc
@@ -23,7 +23,7 @@ void Sources::init()
alGenSources(MAXSOURCES, sources);
if ((error = alGetError()) != AL_NO_ERROR) {
- con_warn << "Error " << std::hex << error << " initializing OpenAL sources!" << std::endl;
+ con_warn << "Error " << error << " initializing OpenAL sources!" << std::endl;
return;
}
@@ -55,6 +55,19 @@ void Sources::clear()
}
+void Sources::reset()
+{
+ for (size_t index= 0; index < MAXSOURCES; index++) {
+ source_available[index] = true;
+ alSourceRewind(sources[index]);
+ }
+
+ // reserve ui sound sources
+ for (size_t i=0; i < MAXUISOURCES; i++) {
+ source_available[i] = false;
+ }
+}
+
size_t Sources::get()
{
for (size_t i= MAXUISOURCES; i < MAXSOURCES; i++) {