4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2005 - 2008 Christian Schoenebeck * |
* Copyright (C) 2005 - 2008 Christian Schoenebeck * |
7 |
* Copyright (C) 2009 - 2011 Christian Schoenebeck and Grigor Iliev * |
* Copyright (C) 2009 - 2012 Christian Schoenebeck and Grigor Iliev * |
8 |
* * |
* * |
9 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
10 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
336 |
void Voice::ProcessGroupEvent(RTList<Event>::Iterator& itEvent) { |
void Voice::ProcessGroupEvent(RTList<Event>::Iterator& itEvent) { |
337 |
if (itEvent->Param.Note.Key != MIDIKey) { |
if (itEvent->Param.Note.Key != MIDIKey) { |
338 |
// kill the voice fast |
// kill the voice fast |
339 |
pEG1->enterFadeOutStage(); |
SignalRack.EnterFadeOutStage(); |
340 |
} |
} |
341 |
} |
} |
342 |
|
|
343 |
|
void Voice::CalculateFadeOutCoeff(float FadeOutTime, float SampleRate) { |
344 |
|
SignalRack.CalculateFadeOutCoeff(FadeOutTime, SampleRate); |
345 |
|
} |
346 |
|
|
347 |
|
int Voice::CalculatePan(uint8_t pan) { |
348 |
|
int p = pan + RgnInfo.Pan; |
349 |
|
|
350 |
|
if (p < 0) return 0; |
351 |
|
if (p > 127) return 127; |
352 |
|
return p; |
353 |
|
} |
354 |
|
|
355 |
}} // namespace LinuxSampler::sf2 |
}} // namespace LinuxSampler::sf2 |