28#ifndef HPL_OPENAL_SOUND_CHANNEL_H
29#define HPL_OPENAL_SOUND_CHANNEL_H
31#include "audio/audiostream.h"
32#include "audio/mixer.h"
33#include "common/file.h"
34#include "common/str.h"
35#include "hpl1/engine/impl/OpenALSoundData.h"
36#include "hpl1/engine/sound/SoundChannel.h"
37#include "hpl1/engine/sound/SoundData.h"
43class cLowLevelSoundOpenAL;
55 void SetPaused(
bool abX);
56 void SetSpeed(
float afSpeed);
57 void SetVolume(
float afVolume);
58 void SetLooping(
bool abLoop);
59 void SetPan(
float afPan);
60 void Set3D(
bool ab3D);
62 void SetPriority(
int alX);
65 void SetPositionRelative(
bool abRelative);
69 void SetMinDistance(
float fMin);
70 void SetMaxDistance(
float fMax);
74 bool IsBufferUnderrun() {
return false; }
76 double GetTotalTime() {
return _audioStream->
getLength().
secs(); }
78 void SetAffectedByEnv(
bool abAffected);
79 void SetFiltering(
bool abEnabled,
int alFlags);
80 void SetFilterGain(
float afGain);
81 void SetFilterGainHF(
float afGainHF);
virtual Timestamp getElapsedTime(SoundHandle handle) const =0
Definition: audiostream.h:212
virtual Timestamp getLength() const =0
int secs() const
Definition: timestamp.h:198
Definition: LowLevelSoundOpenAL.h:43
Definition: OpenALSoundChannel.h:45
Definition: OpenALSoundData.h:42
Definition: SoundManager.h:39
Definition: SoundChannel.h:46
virtual Audio::Mixer * getMixer()=0