308 |
if (StepsLeft <= 0) enterEndStage(); |
if (StepsLeft <= 0) enterEndStage(); |
309 |
} |
} |
310 |
|
|
311 |
|
void EGADSR::enterFadeOutStage(int maxFadeOutSteps) { |
312 |
|
Stage = stage_fadeout; |
313 |
|
Segment = segment_lin; |
314 |
|
StepsLeft = int(Level / (-FadeOutCoeff)); |
315 |
|
if (StepsLeft > maxFadeOutSteps) { |
316 |
|
StepsLeft = maxFadeOutSteps; |
317 |
|
Coeff = -Level / maxFadeOutSteps; |
318 |
|
} else { |
319 |
|
Coeff = FadeOutCoeff; |
320 |
|
} |
321 |
|
if (StepsLeft <= 0) enterEndStage(); |
322 |
|
} |
323 |
|
|
324 |
void EGADSR::enterEndStage() { |
void EGADSR::enterEndStage() { |
325 |
Stage = stage_end; |
Stage = stage_end; |
326 |
Segment = segment_end; |
Segment = segment_end; |