MCPcopy Create free account
hub / github.com/LabSound/LabSound / AudioDSPKernel

Class AudioDSPKernel

src/internal/AudioDSPKernel.h:16–37  ·  view source on GitHub ↗

AudioDSPKernel does the processing for one channel of an AudioDSPKernelProcessor.

Source from the content-addressed store, hash-verified

14
15// AudioDSPKernel does the processing for one channel of an AudioDSPKernelProcessor.
16class AudioDSPKernel
17{
18public:
19
20 AudioDSPKernel(AudioDSPKernelProcessor * kernelProcessor) : m_kernelProcessor(kernelProcessor) {}
21 AudioDSPKernel() = default;
22
23 virtual ~AudioDSPKernel() {}
24
25 // Subclasses must override process() to do the processing and reset() to reset DSP state.
26 virtual void process(ContextRenderLock &, const float * source, float * destination, int framesToProcess) = 0;
27 virtual void reset() = 0;
28
29 AudioDSPKernelProcessor * processor() { return m_kernelProcessor; }
30 const AudioDSPKernelProcessor * processor() const { return m_kernelProcessor; }
31
32 virtual double tailTime(ContextRenderLock & r) const = 0;
33 virtual double latencyTime(ContextRenderLock & r) const = 0;
34
35protected:
36 AudioDSPKernelProcessor * m_kernelProcessor {nullptr};
37};
38
39} // namespace lab
40

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected