XPlor/libs/xassets/xreverbsettings.h
2025-08-14 18:50:13 -04:00

84 lines
2.6 KiB
C++

#ifndef XREVERBSETTINGS_H
#define XREVERBSETTINGS_H
#include "xasset.h"
class XReverbSettings : public XAsset
{
public:
explicit XReverbSettings();
quint32 GetReflectionsDelay() const;
quint8 GetReverbDelay() const;
quint8 GetRearDelay() const;
quint8 GetPositionLeft() const;
quint8 GetPositionRight() const;
quint8 GetPositionMatrixLeft() const;
quint8 GetPositionMatrixRight() const;
quint8 GetEarlyDiffusion() const;
quint8 GetLateDiffusion() const;
quint8 GetLowEQGain() const;
quint8 GetLowEQCutoff() const;
quint8 GetHighEQGain() const;
quint8 GetHighEQCutoff() const;
float GetRoomFilterFreq() const;
float GetRoomFilterMain() const;
float GetRoomFilterHF() const;
float GetReflectionsGain() const;
float GetReverbGain() const;
float GetDecayTime() const;
float GetDensity() const;
float GetRoomSize() const;
virtual void Clear() override;
virtual void ParseData(QDataStream* aStream) override;
public slots:
void SetReflectionsDelay(quint32 aReflectionsDelay);
void SetReverbDelay(quint8 aReverbDelay);
void SetRearDelay(quint8 aRearDelay);
void SetPositionLeft(quint8 aPositionLeft);
void SetPositionRight(quint8 aPositionRight);
void SetPositionMatrixLeft(quint8 aPositionMatrixLeft);
void SetPositionMatrixRight(quint8 aPositionMatrixRight);
void SetEarlyDiffusion(quint8 aEarlyDiffusion);
void SetLateDiffusion(quint8 aLateDiffusion);
void SetLowEQGain(quint8 aLowEQGain);
void SetLowEQCutoff(quint8 aLowEQCutoff);
void SetHighEQGain(quint8 aHighEQGain);
void SetHighEQCutoff(quint8 aHighEQCutoff);
void SetRoomFilterFreq(float aRoomFilterFreq);
void SetRoomFilterMain(float aRoomFilterMain);
void SetRoomFilterHF(float aRoomFilterHF);
void SetReflectionsGain(float aReflectionsGain);
void SetReverbGain(float aReverbGain);
void SetDecayTime(float aDecayTime);
void SetDensity(float aDensity);
void SetRoomSize(float aRoomSize);
private:
quint32 mReflectionsDelay;
quint8 mReverbDelay;
quint8 mRearDelay;
quint8 mPositionLeft;
quint8 mPositionRight;
quint8 mPositionMatrixLeft;
quint8 mPositionMatrixRight;
quint8 mEarlyDiffusion;
quint8 mLateDiffusion;
quint8 mLowEQGain;
quint8 mLowEQCutoff;
quint8 mHighEQGain;
quint8 mHighEQCutoff;
float mRoomFilterFreq;
float mRoomFilterMain;
float mRoomFilterHF;
float mReflectionsGain;
float mReverbGain;
float mDecayTime;
float mDensity;
float mRoomSize;
};
#endif // XREVERBSETTINGS_H