VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae_effect_base.hpp
Go to the documentation of this file.
1#ifndef _VAE_EFFECT_BASE
2#define _VAE_EFFECT_BASE
3
4#include "../vae_types.hpp"
5#include "../pod/vae_effect.hpp"
6#include "../../wrapped/vae_profiler.hpp"
7
8namespace vae { namespace core { namespace effect {
9 /**
10 * @brief Base for all effects
11 */
12 class EffectBase {
13 public:
14 virtual void init(int samplingFreq) = 0; ///< Init dsp and clear state
15 virtual int getNumInputs() = 0;
16 virtual int getNumOutputs() = 0;
17 virtual void instanceClear() = 0; ///< Reset dsp state delay lines and so on
18 virtual void process(Effect& effect, const ScratchBuffer& in, ScratchBuffer& out) = 0;
20 virtual ~EffectBase() {
22 }
23 };
24
25} } } // vae::core::effect
26
27#endif // _VAE_EFFECT_BASE
virtual void process(Effect &effect, const ScratchBuffer &in, ScratchBuffer &out)=0
virtual void init(int samplingFreq)=0
Init dsp and clear state.
virtual void instanceClear()=0
Reset dsp state delay lines and so on.
const char *const dspAllocator
Tracks DSP memory usage.
Contains Typedefinitions and basic structures use by the public API and internally.
Definition: vae.hpp:31
Effect pod.
Definition: vae_effect.hpp:12
#define VAE_PROFILER_FREE_L(ptr, name)
Track named allocaions.