mirror of
https://github.com/zeldaret/ss
synced 2026-06-06 11:37:34 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
42 lines
866 B
C++
42 lines
866 B
C++
#ifndef NW4R_SND_FX_BASE_H
|
|
#define NW4R_SND_FX_BASE_H
|
|
#include "nw4r/snd/snd_Common.h"
|
|
#include "nw4r/types_nw4r.h"
|
|
#include "nw4r/ut.h" // IWYU pragma: export
|
|
|
|
namespace nw4r {
|
|
namespace snd {
|
|
|
|
enum SampleFormat {
|
|
SAMPLE_FORMAT_PCM_S32,
|
|
SAMPLE_FORMAT_PCM_S16,
|
|
SAMPLE_FORMAT_PCM_S8,
|
|
SAMPLE_FORMAT_DSP_ADPCM
|
|
};
|
|
|
|
class FxBase : private ut::NonCopyable {
|
|
public:
|
|
virtual ~FxBase() {} // at 0x8
|
|
|
|
virtual bool StartUp() {
|
|
return true;
|
|
} // at 0xC
|
|
|
|
virtual void Shutdown() {} // at 0x10
|
|
|
|
virtual void UpdateBuffer(
|
|
int /* channels */, void ** /* ppBuffer */, u32 /* size */, SampleFormat /* format */, f32 /* sampleRate */,
|
|
OutputMode /* mode */
|
|
) {} // at 0x14
|
|
|
|
public:
|
|
NW4R_UT_LIST_NODE_DECL(); // at 0x4
|
|
};
|
|
|
|
NW4R_UT_LIST_TYPEDEF_DECL(FxBase);
|
|
|
|
} // namespace snd
|
|
} // namespace nw4r
|
|
|
|
#endif
|