mirror of
https://github.com/zeldaret/ss
synced 2026-06-06 19:41:44 -04:00
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
#ifndef D_SND_CONTROL_PLAYER_H
|
|
#define D_SND_CONTROL_PLAYER_H
|
|
|
|
#include "d/snd/d_snd_sound.h"
|
|
#include "nw4r/snd/snd_SoundPlayer.h"
|
|
|
|
class dSndControlPlayer_c : public dSndControl_c {
|
|
public:
|
|
dSndControlPlayer_c(f32 value, f32 min, f32 max) : dSndControl_c(value, min, max) {}
|
|
virtual void reset() override; // vt 0x0C
|
|
|
|
virtual void stop() override; // vt 0x18
|
|
virtual void apply() = 0; // vt 0x1C
|
|
virtual f32 getAppliedValue() = 0; // vt 0x20
|
|
|
|
void setIndex1(u32 idx);
|
|
void setIndex2(u32 idx);
|
|
|
|
protected:
|
|
/* 0x30 */ nw4r::snd::SoundPlayer *mpPlayer;
|
|
/* 0x34 */ u32 mIndex;
|
|
};
|
|
|
|
class dSndControlPlayerVolumeBase_c : public dSndControlPlayer_c {
|
|
public:
|
|
dSndControlPlayerVolumeBase_c();
|
|
};
|
|
|
|
class dSndControlPlayerVolume_c : public dSndControlPlayerVolumeBase_c {
|
|
public:
|
|
dSndControlPlayerVolume_c() {}
|
|
|
|
virtual void apply() override; // vt 0x1C
|
|
virtual f32 getAppliedValue() override; // vt 0x20
|
|
};
|
|
|
|
class dSndControlPlayerLpfFreq_c : public dSndControlPlayer_c {
|
|
public:
|
|
dSndControlPlayerLpfFreq_c() : dSndControlPlayer_c(0.0f, -1.0f, 0.0f) {}
|
|
|
|
virtual void apply() override; // vt 0x1C
|
|
virtual f32 getAppliedValue() override; // vt 0x20
|
|
};
|
|
|
|
class dSndControlPlayerFxSend_c : public dSndControlPlayer_c {
|
|
public:
|
|
dSndControlPlayerFxSend_c() : dSndControlPlayer_c(0.0f, 0.0f, 1.0f) {}
|
|
|
|
virtual void apply() override; // vt 0x1C
|
|
virtual f32 getAppliedValue() override; // vt 0x20
|
|
};
|
|
|
|
#endif
|