163 |
void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
void Synthesize(uint Samples, sample_t* pSrc, uint Skip); |
164 |
|
|
165 |
inline float CrossfadeAttenuation(uint8_t& CrossfadeControllerValue) { |
inline float CrossfadeAttenuation(uint8_t& CrossfadeControllerValue) { |
166 |
return (!pDimRgn->Crossfade.out_end) ? 1.0f /* 0,0,0,0 means no crossfade defined */ |
float att = (!pDimRgn->Crossfade.out_end) ? CrossfadeControllerValue / 127.0f /* 0,0,0,0 means no crossfade defined */ |
167 |
: (CrossfadeControllerValue <= pDimRgn->Crossfade.in_start) ? 0.0f |
: (CrossfadeControllerValue < pDimRgn->Crossfade.in_end) ? |
168 |
: (CrossfadeControllerValue < pDimRgn->Crossfade.in_end) ? float(CrossfadeControllerValue - pDimRgn->Crossfade.in_start) / float(pDimRgn->Crossfade.in_end - pDimRgn->Crossfade.in_start) |
((CrossfadeControllerValue <= pDimRgn->Crossfade.in_start) ? 0.0f |
169 |
: (CrossfadeControllerValue <= pDimRgn->Crossfade.out_start) ? 1.0f |
: float(CrossfadeControllerValue - pDimRgn->Crossfade.in_start) / float(pDimRgn->Crossfade.in_end - pDimRgn->Crossfade.in_start)) |
170 |
: (CrossfadeControllerValue < pDimRgn->Crossfade.out_end) ? float(CrossfadeControllerValue - pDimRgn->Crossfade.out_start) / float(pDimRgn->Crossfade.out_end - pDimRgn->Crossfade.out_start) |
: (CrossfadeControllerValue <= pDimRgn->Crossfade.out_start) ? 1.0f |
171 |
: 0.0f; |
: (CrossfadeControllerValue < pDimRgn->Crossfade.out_end) ? float(pDimRgn->Crossfade.out_end - CrossfadeControllerValue) / float(pDimRgn->Crossfade.out_end - pDimRgn->Crossfade.out_start) |
172 |
|
: 0.0f; |
173 |
|
return pDimRgn->InvertAttenuationController ? 1 - att : att; |
174 |
} |
} |
175 |
|
|
176 |
inline float Constrain(float ValueToCheck, float Min, float Max) { |
inline float Constrain(float ValueToCheck, float Min, float Max) { |