[feat]: Filter (#18)

closes #16

Reviewed-on: #18
This commit is contained in:
2023-09-10 00:56:47 +03:00
parent 868a59da0e
commit bb3ccc296a
22 changed files with 372 additions and 48 deletions

View File

@@ -3,18 +3,14 @@
#include "Ramp.h"
#include <cstddef>
struct ADSRParameters {
float attack_time; // Attack time in seconds
float decay_time; // Decay time in seconds
float sustain_level; // Sustain level (0 to 1)
float release_time;
};
enum ADSRState { sOff, sAttack, sDecay, sSustain, sRelease };
class ADSR : public Effect {
enum ADSRState { sOff, sAttack, sDecay, sSustain, sRelease };
private:
ADSRParameters m_parameters;
float m_attack_time;
float m_decay_time;
float m_sustain_level;
float m_release_time;
ADSRState m_state;
Ramp* m_ramp;
@@ -26,7 +22,6 @@ class ADSR : public Effect {
public:
ADSR(/* args */);
ADSR(ADSRParameters param);
~ADSR();
void Trigger() override;
void Release() override;