| Home | nevrax.com |
|
sound_anim_marker.hGo to the documentation of this file.00001
00007 /* Copyright, 2000 Nevrax Ltd.
00008 *
00009 * This file is part of NEVRAX NEL.
00010 * NEVRAX NEL is free software; you can redistribute it and/or modify
00011 * it under the terms of the GNU General Public License as published by
00012 * the Free Software Foundation; either version 2, or (at your option)
00013 * any later version.
00014
00015 * NEVRAX NEL is distributed in the hope that it will be useful, but
00016 * WITHOUT ANY WARRANTY; without even the implied warranty of
00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018 * General Public License for more details.
00019
00020 * You should have received a copy of the GNU General Public License
00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023 * MA 02111-1307, USA.
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 } // namespace NLSOUND
00079
00080 #endif // NL_SOUND_ANIM_MARKER_H
|
||||||||||||||||||||||||