803 |
// process transition events (note on, note off & sustain pedal) |
// process transition events (note on, note off & sustain pedal) |
804 |
processTransitionEvents(itNoteEvent, iSubFragmentEnd); |
processTransitionEvents(itNoteEvent, iSubFragmentEnd); |
805 |
|
|
806 |
// if the voice was killed in this subfragment switch EG1 to fade out stage |
// if the voice was killed in this subfragment, or if the |
807 |
if (itKillEvent && killPos <= iSubFragmentEnd) { |
// filter EG is finished, switch EG1 to fade out stage |
808 |
|
if ((itKillEvent && killPos <= iSubFragmentEnd) || |
809 |
|
(SYNTHESIS_MODE_GET_FILTER(SynthesisMode) && |
810 |
|
EG2.getSegmentType() == EGADSR::segment_end)) { |
811 |
EG1.enterFadeOutStage(); |
EG1.enterFadeOutStage(); |
812 |
itKillEvent = Pool<Event>::Iterator(); |
itKillEvent = Pool<Event>::Iterator(); |
813 |
} |
} |