X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuffer.cpp;h=1d7510e0a527f8dc165b4dcb2e85ac48e52a190a;hb=14008b157c64752ba7c1cef831124992c35c4646;hp=2a33b8329374c2075ead1a0a9f92d24c753ee86f;hpb=35ea5cc8d1eb8c806885d27441548f630e7b1266;p=libs%2Fal.git diff --git a/source/buffer.cpp b/source/buffer.cpp index 2a33b83..1d7510e 100644 --- a/source/buffer.cpp +++ b/source/buffer.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspal -Copyright © 2008 Mikko Rasa, Mikkosoft Productions -Diestributed under the LGPL -*/ - #include "buffer.h" #include "sound.h" @@ -28,12 +21,32 @@ void Buffer::data(Format fmt, const void *dt, sizei size, sizei freq) alBufferData(id, fmt, dt, size, freq); } +void Buffer::data(const Sound &snd) +{ + data(snd.get_format(), snd.get_data(), snd.get_size(), snd.get_frequency()); +} + void Buffer::load_data(const string &fn) { Sound sound; - sound.load(fn); + sound.load_file(fn); + + data(sound); +} + + +Buffer::Loader::Loader(Buffer &b): + buf(b) +{ + add("sound_data", &Loader::sound_data); +} + +void Buffer::Loader::sound_data(const string &data) +{ + Sound sound; + sound.load_memory(data.data(), data.size()); - data(sound.get_format(), sound.get_data(), sound.get_size(), sound.get_frequency()); + buf.data(sound); } } // namespace AL