flexEG: If stage is of zero duration, immediate transition to level
This commit is contained in:
parent
35fc1f0105
commit
a20a4c0029
1 changed files with 3 additions and 0 deletions
|
|
@ -144,6 +144,9 @@ void FlexEnvelope::Impl::process(absl::Span<float> out)
|
||||||
const bool isReleased = isReleased_;
|
const bool isReleased = isReleased_;
|
||||||
while ((!stageSustained_ && currentTime_ >= stageTime_) ||
|
while ((!stageSustained_ && currentTime_ >= stageTime_) ||
|
||||||
(stageSustained_ && isReleased)) {
|
(stageSustained_ && isReleased)) {
|
||||||
|
// If stage is of zero duration, immediate transition to level
|
||||||
|
if (!stageSustained_ && stageTime_ == 0)
|
||||||
|
currentLevel_ = stageTargetLevel_;
|
||||||
if (!advanceToNextStage()) {
|
if (!advanceToNextStage()) {
|
||||||
out.remove_prefix(frameIndex);
|
out.remove_prefix(frameIndex);
|
||||||
fill(out, 0.0f);
|
fill(out, 0.0f);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue