amuse/include/amuse/EffectBase.hpp

16 lines
416 B
C++

#pragma once
namespace amuse {
struct ChannelMap;
enum class EffectType { Invalid, ReverbStd, ReverbHi, Delay, Chorus, EffectTypeMAX };
class EffectBase {
public:
virtual ~EffectBase() = default;
virtual void resetOutputSampleRate(double sampleRate) = 0;
virtual EffectType Isa() const = 0;
virtual void applyEffect(float* audio, size_t frameCount, const ChannelMap& chanMap) = 0;
};
} // namespace amuse