Go to the documentation of this file.00001
00002
00003 #ifndef _SOUND_DATA_H_
00004 #define _SOUND_DATA_H_
00005
00006 #include <EngineConfig.h>
00007 #include <core/Types.h>
00008 #include <resource/Resource.h>
00009
00010 #include <string>
00011
00012 namespace resource
00013 {
00014 class Serializer;
00015 }
00016
00017 namespace sound
00018 {
00019
00023 class ENGINE_PUBLIC_EXPORT SoundData: public resource::Resource
00024 {
00025 public:
00026
00027 SoundData(const std::string& name, resource::Serializer* serializer);
00028 virtual ~SoundData();
00029
00031 void setPitch(f32 pitch);
00033 f32 getPitch() const;
00034
00036 void setGain(f32 gain);
00038 f32 getGain() const;
00039
00043 void setDistanceValues(f32 minDistance, f32 maxDistance);
00045 void setMinDistance(f32 minDistance);
00047 void setMaxDistance(f32 maxDistance);
00048
00050 f32 getMinDistance() const;
00052 f32 getMaxDistance() const;
00053
00058 void setConeSettings(f32 innerConeAngle, f32 outerConeAngle, f32 outerConeGain);
00059
00061 void setInnerConeAngle(f32 innerConeAngle);
00063 f32 getInnerConeAngle() const;
00064
00066 void setOuterConeAngle(f32 outerConeAngle);
00068 f32 getOuterConeAngle() const;
00069
00071 void setOuterConeGain(f32 outerConeGain);
00073 f32 getOuterConeGain() const;
00074
00075 protected:
00076
00077 void initProperties();
00078 virtual void unloadImpl();
00079
00080 f32 mPitch;
00081 f32 mGain;
00082 f32 mMinDistance;
00083 f32 mMaxDistance;
00084 f32 mInnerConeAngle;
00085 f32 mOuterConeAngle;
00086 f32 mOuterConeGain;
00087 };
00088
00089 }
00090
00091 #endif