Files
ss/include/nw4r/snd/snd_FxBase.h
T
Elijah Thomas 26af4db82d update from dtk-template - clangd :) (#66)
* update from dtk-template and start work towards using clangd

* include <a> -> "a"

* Update build.yml

* remove/add non-trivial class in union warning
2024-10-16 15:36:02 -04:00

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