20 #ifndef _SOUNDMANAGER_H_ 21 #define _SOUNDMANAGER_H_ 26 #include <iutil/comp.h> 27 #include <iutil/eventh.h> 32 #include <isoundmngr.h> 64 virtual bool Initialize(iObjectRegistry* objReg);
69 virtual
const csHandlerID* GenericPrec(csRef<iEventHandlerRegistry> &ehr,
70 csRef<iEventNameRegistry> &
enr, csEventID
id)
const;
71 virtual const csHandlerID*
GenericSucc(csRef<iEventHandlerRegistry> &ehr,
72 csRef<iEventNameRegistry> &enr, csEventID
id)
const {
return 0; }
73 CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS
83 virtual bool AddSndQueue(
int queueID, SndCtrlID sndCtrlID);
85 virtual bool PushQueueItem(
int queueID,
const char* fileName);
91 virtual void SetPlayerMovement(csVector3 playerPosition, csVector3 playerVelocity);
95 virtual void SetEntityState(
int state, iMeshWrapper* mesh,
const char* meshName,
bool forceChange);
113 virtual uint
PlaySound(
const char* fileName,
bool loop, SndCtrlID sndCtrlID);
114 virtual uint
PlaySound(
const char* fileName,
bool loop, SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir,
float minDist,
float maxDist);
115 virtual uint
PlaySong(csRef<iDocument> musicalSheet,
const char* instrument,
116 SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir);
126 iObjectRegistry* objectReg;
131 csHash<SoundQueue*, int> soundQueues;
132 bool listenerOnCamera;
136 csTicks lastUpdateTime;
138 float volumeDampPercent;
139 csArray<SndCtrlID> dampenCtrls;
141 csEventID evSystemOpen;
148 void InitSoundSystem();
152 #endif // __SOUNDMANAGER_H__ This class keeps and manage the musical instruments.
virtual void SetEntityState(int state, iMeshWrapper *mesh, const char *meshName, bool forceChange)
virtual void RemoveObjectEntity(iMeshWrapper *mesh, const char *meshName)
Used to put Sounds in a Queue and play them in the order they have been added.
virtual bool Initialize(iObjectRegistry *objReg)
virtual bool PushQueueItem(int queueID, const char *fileName)
SoundManager(iBase *parent)
virtual bool HandleEvent(iEvent &e)
virtual bool IsLoopBGMToggleOn()
virtual void RemoveSndQueue(int queueID)
virtual bool IsCombatMusicToggleOn()
virtual void SetCombatMusicToggle(bool toggle)
csRef< iEventNameRegistry > csEventID id const
virtual CS_EVENTHANDLER_DEFAULT_INSTANCE_CONSTRAINTS bool InitializeSectors()
virtual bool IsSoundValid(uint soundID) const
This class handles every sound defined in a sector.
virtual void AddObjectEntity(iMeshWrapper *mesh, const char *meshName)
CS_EVENTHANDLER_NAMES("crystalspace.planeshift.sound") virtual const csHandlerID *GenericPrec(csRef< iEventHandlerRegistry > &ehr
virtual bool IsChatToggleOn()
virtual void SetWeather(int newWeather)
csRef< iEventNameRegistry > & enr
virtual bool IsListenerOnCameraToggleOn()
virtual void SetLoopBGMToggle(bool toggle)
virtual bool StopSound(uint soundID)
static csRandomGen randomGen
random number generator.
virtual uint PlaySound(const char *fileName, bool loop, SndCtrlID sndCtrlID)
virtual bool LoadActiveSector(const char *sectorName)
virtual void SetCombatStance(int newCombatStance)
virtual uint PlaySong(csRef< iDocument > musicalSheet, const char *instrument, SndCtrlID sndCtrlID, csVector3 pos, csVector3 dir)
virtual bool ReloadSectors()
virtual int GetCombatStance() const
virtual bool SetSoundSource(uint soundID, csVector3 position)
virtual void UpdateListener(iView *view)
virtual void SetTimeOfDay(int newTimeOfDay)
virtual void SetChatToggle(bool toggle)
virtual csVector3 GetPosition() const
virtual void SetListenerOnCameraToggle(bool toggle)
This Manager Object is used to play all sounds.
virtual void SetPlayerMovement(csVector3 playerPosition, csVector3 playerVelocity)
static uint updateTime
update throttle in milliseconds.
virtual bool AddSndQueue(int queueID, SndCtrlID sndCtrlID)
virtual bool IsSoundActive(SndCtrlID sndCtrlID)
virtual void UpdateObjectEntity(iMeshWrapper *mesh, const char *meshName)
virtual const csHandlerID * GenericSucc(csRef< iEventHandlerRegistry > &ehr, csRef< iEventNameRegistry > &enr, csEventID id) const
virtual iSoundControl * GetSndCtrl(SndCtrlID sndCtrlID)