34 int32_t lastValuePreCurrentStage;
35 uint32_t timeEnteredState;
37 uint32_t fastReleaseIncrement{1024};
38 int32_t noteOn(
bool directlyToDecay);
39 int32_t noteOn(uint8_t envelopeIndex,
Sound* sound,
Voice* voice);
41 int32_t render(uint32_t numSamples, uint32_t attack, uint32_t decay, uint32_t sustain, uint32_t release,
42 const uint16_t* releaseTable);
43 void unconditionalRelease(EnvelopeStage typeOfRelease = EnvelopeStage::RELEASE,
44 uint32_t newFastReleaseIncrement = 4096);
45 void unconditionalOff();
46 void resumeAttack(int32_t oldLastValue);
50 void setState(EnvelopeStage newState);
51 int32_t smoothedSustain{0};