31 #ifndef __SIMPLE_ENVELOPE_H__
32 #define __SIMPLE_ENVELOPE_H__
34 #include "SimpleHeader.h"
36 namespace chunkware_simple
45 static constexpr
double DC_OFFSET = 1.0E-25;
58 virtual void setTc(
double ms);
61 virtual double getTc(
void)
const {
return ms_; }
70 INLINE
void run(
double in,
double &state)
72 state = in +
coef_ * (state - in);
89 AttRelEnvelope(
double att_ms = 10.0,
double rel_ms = 100.0,
double sampleRate = 44100.0);
113 INLINE
void run(
double in,
double &state)
virtual void setAttack(double ms)
Attack time constant.
virtual double getRelease(void) const
Release time constant.
AttRelEnvelope(double att_ms=10.0, double rel_ms=100.0, double sampleRate=44100.0)
Ctor.
virtual double getSampleRate(void) const
Sample rate dependencies.
INLINE void run(double in, double &state)
Runtime function.
virtual double getAttack(void) const
Attack time constant.
virtual void setSampleRate(double sampleRate)
Sample rate dependencies.
virtual void setRelease(double ms)
Release time constant.
virtual ~AttRelEnvelope()
Dtor.
EnvelopeDetector(double ms=1.0, double sampleRate=44100.0)
Ctor.
virtual ~EnvelopeDetector()
Dtor.
INLINE void run(double in, double &state)
runtime function
double sampleRate_
sample rate
virtual void setSampleRate(double sampleRate)
set sample rate
virtual double getTc(void) const
get time constant
virtual void setTc(double ms)
set time constant
virtual void setCoef(void)
Set coefficients.
double ms_
time constant in ms
double coef_
runtime coefficient
virtual double getSampleRate(void) const
get sample rate