]> git.tdb.fi Git - libs/al.git/blobdiff - source/sound.h
Add Streamer class
[libs/al.git] / source / sound.h
index e903bcb395acf185df355f444793557a4c590b2f..1badf3c03a9d01ff03f211daf539579278faec3b 100644 (file)
@@ -8,6 +8,7 @@ Distributed under the LGPL
 #ifndef MSP_AL_SOUND_H_
 #define MSP_AL_SOUND_H_
 
+#include <string>
 #include <vorbis/vorbisfile.h>
 #include "format.h"
 
@@ -22,19 +23,26 @@ private:
        unsigned size;
        char *data;
        Format format;
+       unsigned read_pos;
+       bool eof_flag;
 
 public:
        Sound();
+       Sound(const std::string &);
        ~Sound();
 
        void open(const std::string &);
        void load_data();
        void load(const std::string &);
+       void close();
+       void rewind();
+       unsigned read(char *, unsigned);
+       bool eof() const { return eof_flag; }
+
        Format get_format() const { return format; }
        unsigned get_frequency() const { return freq; }
        unsigned get_size() const { return size; }
        const char *get_data() const;
-       unsigned read(char *, unsigned);
 };
 
 } // namespace AL