- Changed Gf1Envelope::Recompute() so that when the envelope runs out in midi_timiditylike

mode, it doesn't immediately kill the note. This doesn't appear to match what TiMidity
  does, but I think it sounds better to turn the loop off and let the note end naturally
  instead of abruptly shutting it off.


SVN r960 (trunk)
This commit is contained in:
Randy Heit 2008-05-10 02:00:39 +00:00
parent d4563767ee
commit 569fdb7edf
1 changed files with 5 additions and 2 deletions

View File

@ -120,8 +120,11 @@ bool GF1Envelope::Recompute(Voice *v)
v->status &= ~(VOICE_SUSTAINING | VOICE_LPE); v->status &= ~(VOICE_SUSTAINING | VOICE_LPE);
v->status |= VOICE_RELEASING; v->status |= VOICE_RELEASING;
if (midi_timiditylike) if (midi_timiditylike)
{ /* kill the voice */ { /* kill the voice ... or not */
v->status |= VOICE_STOPPING; if (volume <= 0)
{
v->status |= VOICE_STOPPING;
}
return 1; return 1;
} }
else else