diff options
Diffstat (limited to 'src/audio/buffers.cc')
-rw-r--r-- | src/audio/buffers.cc | 21 |
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; } |