28 #ifndef HPL_SOUND_CHANNEL_H 29 #define HPL_SOUND_CHANNEL_H 31 #include "common/list.h" 32 #include "hpl1/engine/math/MathTypes.h" 41 virtual void OnPriorityRelease() = 0;
51 mbPositionRelative =
false;
58 mpSoundManger = apSoundManger;
67 mbAffectedByEnv =
false;
69 mlPriorityModifier = 0;
80 virtual void Play() = 0;
81 virtual void Stop() = 0;
83 virtual void SetPaused(
bool abX) = 0;
84 virtual void SetSpeed(
float afSpeed) = 0;
85 virtual void SetVolume(
float afVolume) = 0;
86 virtual void SetLooping(
bool abLoop) = 0;
87 virtual void SetPan(
float afPan) = 0;
88 virtual void Set3D(
bool ab3D) = 0;
90 virtual void SetPriority(
int alX) = 0;
91 virtual int GetPriority() = 0;
93 void SetPriorityModifier(
int alX) {
94 mlPriorityModifier = alX;
95 SetPriority(GetPriority());
97 int GetPriorityModifier() {
return mlPriorityModifier; }
99 virtual void SetPositionRelative(
bool abRelative) = 0;
100 virtual void SetPosition(
const cVector3f &avPos) = 0;
101 void SetRelPosition(
const cVector3f &avPos) { mvRelPosition = avPos; }
103 virtual void SetVelocity(
const cVector3f &avVel) = 0;
105 virtual void SetMinDistance(
float fMin) = 0;
106 virtual void SetMaxDistance(
float fMax) = 0;
108 virtual bool IsPlaying() = 0;
109 virtual bool IsBufferUnderrun() = 0;
110 virtual double GetElapsedTime() = 0;
111 virtual double GetTotalTime() = 0;
113 bool GetPaused() {
return mbPaused; }
114 float GetSpeed() {
return mfSpeed; }
115 float GetVolume() {
return mfVolume; }
116 bool GetLooping() {
return mbLooping; }
117 float GetPan() {
return mfPan; }
118 bool Get3D() {
return mb3D; }
120 bool GetStopUsed() {
return mbStopUsed; }
122 bool GetBlockable() {
return mbBlockable; }
123 void SetBlockable(
bool abX) { mbBlockable = abX; }
124 void SetBlockVolumeMul(
float afX) { mfBlockVolumeMul = afX; }
125 float GetBlockVolumeMul() {
return mfBlockVolumeMul; }
127 bool GetPositionRelative() {
return mbPositionRelative; }
129 const cVector3f &GetRelPosition() {
return mvRelPosition; }
130 const cVector3f &GetPosition() {
return mvPosition; }
131 const cVector3f &GetVelocity() {
return mvVelocity; }
133 float GetMinDistance() {
return mfMinDistance; }
134 float GetMaxDistance() {
return mfMaxDistance; }
139 int GetId() {
return mlId; }
140 void SetId(
int alX) { mlId = alX; }
145 virtual void SetAffectedByEnv(
bool abAffected) { mbAffectedByEnv = abAffected; }
146 virtual void SetFiltering(
bool abEnabled,
int alFlags) = 0;
147 virtual void SetFilterGain(
float afGain) = 0;
148 virtual void SetFilterGainHF(
float afGainHF) = 0;
156 bool mbPositionRelative;
170 float mfBlockVolumeMul;
172 bool mbAffectedByEnv;
175 int mlPriorityModifier;
189 #endif // HPL_SOUND_CHANNEL_H
Definition: SoundChannel.h:38
Definition: SoundManager.h:39
Definition: SoundData.h:39
Definition: SoundChannel.h:46
Definition: list_intern.h:51