Fix to pass a Polyphony test.
This commit is contained in:
parent
4055582671
commit
342cd99dd9
1 changed files with 9 additions and 1 deletions
|
|
@ -102,9 +102,17 @@ void ADSREnvelope::getBlockInternal(absl::Span<Float> output) noexcept
|
|||
// prevent computing the segment further than release point
|
||||
size = std::min<size_t>(size, releaseDelay);
|
||||
} else if (releaseDelay == 0 && delay <= 0) {
|
||||
if (delay < 0) {
|
||||
// release takes effect this frame
|
||||
currentState = State::Release;
|
||||
} else {
|
||||
// release takes effect the next frame
|
||||
size = 1;
|
||||
}
|
||||
releaseDelay = -1;
|
||||
} else if (releaseDelay == -1 && currentState < State::Release && delay <= 0) {
|
||||
// release takes effect this frame
|
||||
currentState = State::Release;
|
||||
releaseDelay = -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue