//overridable for more cached processing in derived classes ( pitch shift )
protected virtual void FillAndProcessData()
{
if (_nextPitch == 1d)
{
FillWithSampleData(envelope.Offset, _cachedLength);
}
else
{
FillWithResampledData(envelope.Offset, _cachedLength, _nextPitch);
}
_pitch = _nextPitch;
envelope.ProcessSample(_audioData);
_needsDataUpdate = false;
}