1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Removed a workaround in ADSR

This commit is contained in:
ed 2019-11-01 17:56:20 +00:00
parent 8d75cc8064
commit 91513f579d

View file

@ -102,12 +102,6 @@ public:
{
envelopeVal = 0.0f;
currentState = State::idle;
if (resetReleaseRate)
{
releaseRate = static_cast<float> (sustainLevel / (currentParameters.release * sr));
resetReleaseRate = false;
}
}
/** Starts the attack phase of the envelope. */
@ -133,14 +127,9 @@ public:
{
if (currentState != State::idle)
{
if (releaseRate > 0.0f)
if (currentParameters.release > 0.0f)
{
if (currentState != State::sustain)
{
releaseRate = static_cast<float> (envelopeVal / (currentParameters.release * sr));
resetReleaseRate = true;
}
releaseRate = static_cast<float> (envelopeVal / (currentParameters.release * sr));
currentState = State::release;
}
else
@ -231,7 +220,6 @@ private:
attackRate = (parameters.attack > 0.0f ? static_cast<float> (1.0f / (parameters.attack * sr)) : -1.0f);
decayRate = (parameters.decay > 0.0f ? static_cast<float> ((1.0f - sustainLevel) / (parameters.decay * sr)) : -1.0f);
releaseRate = (parameters.release > 0.0f ? static_cast<float> (sustainLevel / (parameters.release * sr)) : -1.0f);
}
void checkCurrentState()
@ -249,7 +237,6 @@ private:
double sr = 0.0;
float envelopeVal = 0.0f, sustainLevel = 0.0f, attackRate = 0.0f, decayRate = 0.0f, releaseRate = 0.0f;
bool resetReleaseRate = false;
};
} // namespace juce