| 12345678910111213141516171819202122232425262728293031323334 |
- #ifndef B3_ADSR_H
- #define B3_ADSR_H
- class b3ADSR
- {
- int m_state;
- double m_value;
- double m_target;
- double m_attackRate;
- double m_decayRate;
- double m_releaseRate;
- double m_releaseTime;
- double m_sustainLevel;
- bool m_autoKeyOff;
- public:
- b3ADSR();
- virtual ~b3ADSR();
- double tick();
- bool isIdle() const;
- void keyOn(bool autoKeyOff);
- void keyOff();
- void setValues(double attack, double decay, double sustain, double release)
- {
- m_attackRate = attack;
- m_decayRate = decay;
- m_sustainLevel = sustain;
- m_releaseRate = release;
- }
- };
- #endif //B3_ADSR_H
|