31 #ifndef chunkware_SIMPLE_LIMIT_H
32 #define chunkware_SIMPLE_LIMIT_H
34 #include "SimpleHeader.h"
35 #include "SimpleEnvelope.h"
36 #include "SimpleGain.h"
39 namespace chunkware_simple
54 virtual void setAttack(
double ms) { this->setAttackImpl(ms); }
60 virtual double getThresh(
void)
const {
return threshdB_; }
66 virtual unsigned int getLatency(
void)
const {
return peakHold_; }
78 void process(
double &in1,
double &in2);
96 virtual void setCoef(
void)
override;
101 void setAttackImpl(
double ms);
108 unsigned int peakHold_;
109 unsigned int peakTimer_;
120 static const int BUFFER_SIZE = 1024;
123 std::vector< double > outBuffer_[ 2 ];
130 #include "SimpleLimitProcess.inl"
virtual double getTc(void) const
get time constant
virtual double getSampleRate(void) const
get sample rate
Class for faster attack/release.
FastEnvelope(double ms=1.0, double sampleRate=44100.0)
Ctor.
virtual ~FastEnvelope()
Dtor.
virtual void setCoef(void)
Override setCoef() - coefficient calculation.
virtual unsigned int getLatency(void) const
get latency
virtual double getSampleRate(void)
sample rate
virtual double getAttack(void) const
get parameters
virtual void setThresh(double dB)
set parameters
virtual double getThresh(void) const
get parameters
virtual ~SimpleLimit()
Dtor.
virtual double getRelease(void) const
get parameters
virtual void setSampleRate(double sampleRate)
sample rate
virtual void setAttack(double ms)
set parameters
virtual void setRelease(double ms)
set parameters
virtual void initRuntime(void)
call before runtime (in resume())
void process(double &in1, double &in2)
limiter runtime process