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/buffers.cc')
-rw-r--r--src/audio/buffers.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/audio/buffers.cc b/src/audio/buffers.cc
index 774639e..7bf7eb1 100644
--- a/src/audio/buffers.cc
+++ b/src/audio/buffers.cc
@@ -11,7 +11,8 @@
#include "audio/wav.h"
#include "sys/sys.h"
-namespace audio {
+namespace audio
+{
std::map<std::string, size_t> Buffers::registry;
size_t Buffers::index;
@@ -19,8 +20,8 @@ ALuint Buffers::buffers[MAXBUFFERS];
void Buffers::init()
{
- clear();
-
+ clear();
+
alGenBuffers(MAXBUFFERS, buffers);
int error;
@@ -33,20 +34,20 @@ void Buffers::init()
void Buffers::shutdown()
{
alDeleteBuffers(MAXBUFFERS, buffers);
-
+
int error;
if ((error = alGetError()) != AL_NO_ERROR) {
con_warn << "Error " << error << " clearing OpenAL buffers!" << std::endl;
return;
}
-
+
clear();
}
void Buffers::clear()
{
registry.clear();
- memset(buffers,0, sizeof(buffers));
+ memset(buffers, 0, sizeof(buffers));
index = 0;
}
@@ -63,7 +64,7 @@ size_t Buffers::load(std::string name)
if (!pcm) {
registry[name] = 0;
return 0;
- }
+ }
if (index == MAXBUFFERS) {
con_error << "Buffer limit " << MAXBUFFERS << " exceeded!" << std::endl;
@@ -71,7 +72,7 @@ size_t Buffers::load(std::string name)
registry[name] = 0;
return 0;
}
-
+
ALenum format = 0;
if (pcm->bitspersample() == 16) {
if (pcm->channels() == 1) {
@@ -86,10 +87,10 @@ size_t Buffers::load(std::string name)
format = AL_FORMAT_STEREO8;
};
}
-
+
size_t id = index;
alBufferData(buffers[id], format, pcm->data(), pcm->size(), pcm->samplerate());
- if (alGetError()!= AL_NO_ERROR) {
+ if (alGetError() != AL_NO_ERROR) {
con_warn << "Error loading PCM data " << name << std::endl;
}