AudioDSPKernel does the processing for one channel of an AudioDSPKernelProcessor.
| 14 | |
| 15 | // AudioDSPKernel does the processing for one channel of an AudioDSPKernelProcessor. |
| 16 | class AudioDSPKernel |
| 17 | { |
| 18 | public: |
| 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 | |
| 35 | protected: |
| 36 | AudioDSPKernelProcessor * m_kernelProcessor {nullptr}; |
| 37 | }; |
| 38 | |
| 39 | } // namespace lab |
| 40 |
nothing calls this directly
no outgoing calls
no test coverage detected