22 #ifndef FIFE_SOUNDCLIP_H_
23 #define FIFE_SOUNDCLIP_H_
36 #include "util/resource/resource.h"
38 #include "sounddecoder.h"
50 struct SoundBufferEntry {
51 ALuint buffers[BUFFER_NUM];
62 SoundClip(
const std::string& name, IResourceLoader* loader = 0);
80 return m_buffervec.at(0)->usedbufs;
87 return m_buffervec.at(streamid)->buffers;
115 bool getStream(uint32_t streamid, ALuint buffer);
123 void adobtDecoder(SoundDecoder* decoder) { m_decoder = decoder; m_deletedecoder =
true; }
127 void setDecoder(SoundDecoder* decoder) { m_decoder = decoder; m_deletedecoder =
false; }
135 virtual size_t getSize() {
return 0; }
142 SoundDecoder* m_decoder;
143 bool m_deletedecoder;
144 std::vector<SoundBufferEntry*> m_buffervec;
146 std::string createUniqueClipName();
149 typedef SharedPtr<SoundClip> SoundClipPtr;
bool getStream(uint32_t streamid, ALuint buffer)
void adobtDecoder(SoundDecoder *decoder)
void acquireStream(uint32_t streamid)
float getStreamPos(uint32_t streamid, SoundPositionType type) const
SoundDecoder * getDecoder() const
void setDecoder(SoundDecoder *decoder)
void quitStreaming(uint32_t streamid)
ALuint * getBuffers(uint32_t streamid=0) const
uint32_t countBuffers() const
bool setStreamPos(uint32_t streamid, SoundPositionType type, float value)
uint32_t beginStreaming()