]> git.tdb.fi Git - libs/al.git/blobdiff - source/waveform.cpp
Make SoundDecoder a base class and split off Ogg decoding
[libs/al.git] / source / waveform.cpp
index de195f7671ab00e8a95dda3539318e5aeae11f09..57fc291eb4b10a47a2f9818358151a6cbefae0d2 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/core/refptr.h>
 #include "sounddecoder.h"
 #include "waveform.h"
 
@@ -20,16 +21,14 @@ Waveform::~Waveform()
 
 void Waveform::load_file(const string &fn)
 {
-       SoundDecoder decoder;
-       decoder.open_file(fn);
-       load(decoder);
+       RefPtr<SoundDecoder> decoder = SoundDecoder::open_file(fn);
+       load(*decoder);
 }
 
 void Waveform::load_io(IO::Seekable &io)
 {
-       SoundDecoder decoder;
-       decoder.open_io(io);
-       load(decoder);
+       RefPtr<SoundDecoder> decoder = SoundDecoder::open_io(io);
+       load(*decoder);
 }
 
 void Waveform::load(SoundDecoder &decoder)