00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_SOUND_ANIM_MARKER_H
00027 #define NL_SOUND_ANIM_MARKER_H
00028
00029
00030 namespace NLMISC
00031 {
00032 class IStream;
00033 }
00034
00035 namespace NLSOUND {
00036
00037
00038 typedef std::set<std::string> TMarkerSoundSet;
00039
00040 class UAudioMixer;
00041
00042
00043 class CSoundAnimMarker
00044 {
00045 public:
00046
00047 CSoundAnimMarker(float time = 0.0f) : _Time(time) {}
00048 virtual ~CSoundAnimMarker();
00049
00051 virtual void setTime(float time) { _Time = time; }
00052
00054 virtual float getTime() const { return _Time; }
00055
00057 virtual void addSound(std::string& soundName);
00058
00060 virtual void removeSound(std::string& soundName);
00061
00063 virtual void getSounds(std::vector<const char*>& sounds);
00064
00066 virtual void play(UAudioMixer* mixer, CSoundContext &context);
00067
00068
00069 protected:
00070
00072 TMarkerSoundSet _Sounds;
00073
00075 float _Time;
00076 };
00077
00078 }
00079
00080 #endif // NL_SOUND_ANIM_MARKER_H