00001
00024 #ifndef SOUNDDATA_H_INCLUDED_C4199A75
00025 #define SOUNDDATA_H_INCLUDED_C4199A75
00026
00027 #include "openalpp/export.h"
00028 #include "openalpp/error.h"
00029 #include "openalpp/audiobase.h"
00030 #include "openalpp/referenced.h"
00031
00032 #ifdef WIN32
00033
00034 #pragma warning(disable : 4251)
00035 #endif
00036
00037
00038 namespace openalpp {
00039
00043 class OPENALPP_API SoundData : public AudioBase {
00044 protected:
00048 class SoundBuffer : public openalpp::Referenced {
00049 ALuint buffername_;
00050 protected:
00051 virtual ~SoundBuffer();
00052
00053 public:
00054 SoundBuffer() throw (NameError);
00055 ALuint getName() {return buffername_;}
00056 };
00057 public:
00062 ALuint getAlBuffer() const;
00063
00067 SoundData() throw (NameError,InitError);
00068
00072 SoundData(const SoundData &sounddata);
00073
00077 SoundData &operator=(const SoundData &sounddata);
00078
00079 protected:
00080
00084 virtual ~SoundData();
00085
00089 openalpp::ref_ptr<SoundBuffer> buffer_;
00090
00094 ALuint buffername_;
00095 };
00096
00097 }
00098
00099 #endif