Initial commit
This commit is contained in:
128
engines/hpl1/engine/impl/OpenALSoundEnvironment.h
Normal file
128
engines/hpl1/engine/impl/OpenALSoundEnvironment.h
Normal file
@@ -0,0 +1,128 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2006-2010 - Frictional Games
|
||||
*
|
||||
* This file is part of HPL1 Engine.
|
||||
*/
|
||||
|
||||
#ifndef HPL_OPENALSOUNDENVIRONMENT_H
|
||||
#define HPL_OPENALSOUNDENVIRONMENT_H
|
||||
|
||||
#include "hpl1/engine/sound/SoundEnvironment.h"
|
||||
|
||||
namespace hpl {
|
||||
class cSoundManager;
|
||||
|
||||
class cOpenALSoundEnvironment : public iSoundEnvironment {
|
||||
public:
|
||||
cOpenALSoundEnvironment();
|
||||
|
||||
~cOpenALSoundEnvironment();
|
||||
|
||||
bool CreateFromFile(const tString &asFile);
|
||||
|
||||
inline float GetDensity() { return mfDensity; }
|
||||
inline float GetDiffusion() { return mfDiffusion; }
|
||||
inline float GetGain() { return mfGain; }
|
||||
inline float GetGainHF() { return mfGainHF; }
|
||||
inline float GetGainLF() { return mfGainLF; }
|
||||
inline float GetDecayTime() { return mfDecayTime; }
|
||||
inline float GetDecayHFRatio() { return mfDecayHFRatio; }
|
||||
inline float GetDecayLFRatio() { return mfDecayLFRatio; }
|
||||
inline float GetReflectionsGain() { return mfReflectionsGain; }
|
||||
inline float GetReflectionsDelay() { return mfReflectionsDelay; }
|
||||
inline float *GetReflectionsPan() { return mfReflectionsPan; }
|
||||
inline float GetLateReverbGain() { return mfLateReverbGain; }
|
||||
inline float GetLateReverbDelay() { return mfLateReverbDelay; }
|
||||
inline float *GetLateReverbPan() { return mfLateReverbPan; }
|
||||
inline float GetEchoTime() { return mfEchoTime; }
|
||||
inline float GetEchoDepth() { return mfEchoDepth; }
|
||||
inline float GetModulationTime() { return mfModulationTime; }
|
||||
inline float GetModulationDepth() { return mfModulationDepth; }
|
||||
inline float GetAirAbsorptionGainHF() { return mfAirAbsorptionGainHF; }
|
||||
inline float GetHFReference() { return mfHFReference; }
|
||||
inline float GetLFReference() { return mfLFReference; }
|
||||
inline float GetRoomRolloffFactor() { return mfRoomRolloffFactor; }
|
||||
inline int GetDecayHFLimit() { return mbDecayHFLimit; }
|
||||
|
||||
inline void SetDensity(float afDensity) { mfDensity = afDensity; }
|
||||
inline void SetDiffusion(float afDiffusion) { mfDiffusion = afDiffusion; }
|
||||
inline void SetGain(float afGain) { mfGain = afGain; }
|
||||
inline void SetGainHF(float afGainHF) { mfGainHF = afGainHF; }
|
||||
inline void SetGainLF(float afGainLF) { mfGainLF = afGainLF; }
|
||||
inline void SetDecayTime(float afDecayTime) { mfDecayTime = afDecayTime; }
|
||||
inline void SetDecayHFRatio(float afDecayHFRatio) { mfDecayHFRatio = afDecayHFRatio; }
|
||||
inline void SetDecayLFRatio(float afDecayLFRatio) { mfDecayLFRatio = afDecayLFRatio; }
|
||||
inline void SetReflectionsGain(float afReflectionsGain) { mfReflectionsGain = afReflectionsGain; }
|
||||
inline void SetReflectionsDelay(float afReflectionsDelay) { mfReflectionsDelay = afReflectionsDelay; }
|
||||
inline void SetReflectionsPan(float afReflectionsPan[3]) {
|
||||
mfReflectionsPan[0] = afReflectionsPan[0];
|
||||
mfReflectionsPan[1] = afReflectionsPan[1];
|
||||
mfReflectionsPan[2] = afReflectionsPan[2];
|
||||
}
|
||||
inline void SetLateReverbGain(float afLateReverbGain) { mfLateReverbGain = afLateReverbGain; }
|
||||
inline void SetLateReverbDelay(float afLateReverbDelay) { mfLateReverbDelay = afLateReverbDelay; }
|
||||
inline void SetLateReverbPan(float afLateReverbPan[3]) {
|
||||
mfLateReverbPan[0] = afLateReverbPan[0];
|
||||
mfLateReverbPan[1] = afLateReverbPan[1];
|
||||
mfLateReverbPan[2] = afLateReverbPan[2];
|
||||
}
|
||||
inline void SetEchoTime(float afEchoTime) { mfEchoTime = afEchoTime; }
|
||||
inline void SetEchoDepth(float afEchoDepth) { mfEchoDepth = afEchoDepth; }
|
||||
inline void SetModulationTime(float afModulationTime) { mfModulationTime = afModulationTime; }
|
||||
inline void SetModulationDepth(float afModulationDepth) { mfModulationDepth = afModulationDepth; }
|
||||
inline void SetAirAbsorptionGainHF(float afAirAbsorptionGainHF) { mfAirAbsorptionGainHF = afAirAbsorptionGainHF; }
|
||||
inline void SetHFReference(float afHFReference) { mfHFReference = afHFReference; }
|
||||
inline void SetLFReference(float afLFReference) { mfLFReference = afLFReference; }
|
||||
inline void SetRoomRolloffFactor(float afRoomRolloffFactor) { mfRoomRolloffFactor = afRoomRolloffFactor; }
|
||||
inline void SetDecayHFLimit(int abDecayHFLimit) { mbDecayHFLimit = abDecayHFLimit; }
|
||||
|
||||
protected:
|
||||
float mfDensity;
|
||||
float mfDiffusion;
|
||||
float mfGain;
|
||||
float mfGainHF;
|
||||
float mfGainLF;
|
||||
float mfDecayTime;
|
||||
float mfDecayHFRatio;
|
||||
float mfDecayLFRatio;
|
||||
float mfReflectionsGain;
|
||||
float mfReflectionsDelay;
|
||||
float mfReflectionsPan[3];
|
||||
float mfLateReverbGain;
|
||||
float mfLateReverbDelay;
|
||||
float mfLateReverbPan[3];
|
||||
float mfEchoTime;
|
||||
float mfEchoDepth;
|
||||
float mfModulationTime;
|
||||
float mfModulationDepth;
|
||||
float mfAirAbsorptionGainHF;
|
||||
float mfHFReference;
|
||||
float mfLFReference;
|
||||
float mfRoomRolloffFactor;
|
||||
int mbDecayHFLimit;
|
||||
};
|
||||
|
||||
} // namespace hpl
|
||||
|
||||
#endif // HPL_OPENALSOUNDENVIRONMENT_H
|
||||
Reference in New Issue
Block a user