This commit is contained in:
Jack Andersen
2016-05-31 12:16:46 -10:00
19 changed files with 743 additions and 336 deletions

View File

@@ -33,6 +33,7 @@ void Envelope::keyOff()
float Envelope::advance(double dt)
{
double thisTime = m_curTime;
m_curTime += dt;
switch (m_phase)
@@ -46,7 +47,7 @@ float Envelope::advance(double dt)
m_releaseStartFactor = 1.f;
return 1.f;
}
double attackFac = m_curTime / m_attackTime;
double attackFac = thisTime / m_attackTime;
if (attackFac >= 1.0)
{
m_phase = State::Decay;
@@ -66,7 +67,7 @@ float Envelope::advance(double dt)
m_releaseStartFactor = m_sustainFactor;
return m_sustainFactor;
}
double decayFac = m_curTime / m_decayTime;
double decayFac = thisTime / m_decayTime;
if (decayFac >= 1.0)
{
m_phase = State::Sustain;
@@ -88,7 +89,7 @@ float Envelope::advance(double dt)
m_phase = State::Complete;
return 0.f;
}
double releaseFac = m_curTime / m_releaseTime;
double releaseFac = thisTime / m_releaseTime;
if (releaseFac >= 1.0)
{
m_phase = State::Complete;