diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 4ac7a9e88..1d15c1c88 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -134,16 +134,9 @@ void SfxrSynth::resetSample( bool restart ) env_stage=0; env_time=0; - env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*100000.0f); - env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*100000.0f); - env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*100000.0f); - - // These will be used as divisors later, let's avoid division by 0 - for(int i = 0; i < 3; ++i) - { - env_length[i] = (env_length[i] == 0) ? 1 : env_length[i]; - } - + env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*99999.0f)+1; + env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*99999.0f)+1; + env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*99999.0f)+1; fphase=pow(s->m_phaserOffsetModel.value(), 2.0f)*1020.0f; if(s->m_phaserOffsetModel.value()<0.0f) fphase=-fphase;