#ifndef MUSIC_ENVELOPE_H #define MUSIC_ENVELOPE_H class Envelope; #include <cstdint> #include "../AudioHost.h" #include "Processable.h" enum EnvelopePhase { NONE, ATTACK, DELAY, SUSTAIN, RELEASE, }; class Envelope : public Processable { private: EnvelopePhase phase; float attackIncrement, delayIncrement, releaseIncrement; float value = 0; public: float attack = 0.05, delay = 0.2, sustain = 0.75, release = 1; void initialize(AudioHost *host); void startNote(); void endNote(); void doRender(uint32_t sampleCount); }; #endif