Audio.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef AUDIOCONTROLLER_HH
00027 #define AUDIOCONTROLLER_HH
00028
00029
00030 #include "Controller.hh"
00031 #include "Entity.hh"
00032 #include "OgreAL.h"
00033
00034 namespace gazebo
00035 {
00036 class AudioIface;
00037 class OgreAL::SoundManager;
00038
00041
00057
00058 class AudioController : public Controller
00059 {
00061 public: AudioController(Entity *parent );
00062
00064 public: virtual ~AudioController();
00065
00068 protected: virtual void LoadChild(XMLConfigNode *node);
00069
00071 protected: virtual void InitChild();
00072
00074 protected: virtual void ResetChild();
00075
00077 protected: virtual void UpdateChild(UpdateParams ¶ms);
00078
00080 protected: virtual void FiniChild();
00081
00083 private: void PutAudioData();
00084
00086 private: void GetAudioCmd();
00087
00089 private: AudioIface *myIface;
00090
00091 private: bool loopSound;
00092 private: bool stream;
00093 private: int state;
00094 private: bool cmdPlay;
00095 private: bool cmdPause;
00096 private: bool cmdStop;
00097 private: bool cmdReset;
00098 private: float gain;
00099 private: std::string url;
00100 private: OgreAL::SoundManager *soundManager;
00101
00102
00103 };
00104
00106
00107
00108 }
00109
00110 #endif
00111