501 |
return expf(RgnInfo.ReleaseTriggerDecay * noteLength); |
return expf(RgnInfo.ReleaseTriggerDecay * noteLength); |
502 |
} |
} |
503 |
|
|
504 |
|
void Voice::ProcessGroupEvent(RTList<Event>::Iterator& itEvent) { |
505 |
|
dmsg(4,("Voice %x processGroupEvents event type=%d", this, itEvent->Type)); |
506 |
|
if (itEvent->Param.Note.Key != MIDIKey) { |
507 |
|
dmsg(4,("Voice %x - kill", this)); |
508 |
|
if (pRegion->off_mode == ::sfz::OFF_NORMAL) { |
509 |
|
// turn off the voice by entering release envelope stage |
510 |
|
EnterReleaseStage(); |
511 |
|
} else { |
512 |
|
// kill the voice fast |
513 |
|
pEG1->enterFadeOutStage(); |
514 |
|
} |
515 |
|
} |
516 |
|
} |
517 |
|
|
518 |
}} // namespace LinuxSampler::sfz |
}} // namespace LinuxSampler::sfz |