void MapLength(double pulseDuration)
{
int newLength = ( int )(pulseDuration * _lengthToPulseRatio * GATInfo.OutputSampleRate);
if ((_fadeOut + _fadeIn > newLength))
{
int delta = (_length - newLength) / 2 + 1;
if (_fadeIn - delta < 0)
{
_fadeIn = 8;
}
else
{
_fadeIn -= delta;
}
if (_fadeOut - delta < 0)
{
_fadeOut = 8;
}
else
{
_fadeOut -= delta;
}
_length = newLength;
Envelope.SetParams(_length, _fadeIn, _fadeOut);
#if UNITY_EDITOR
if (onLengthWasMapped != null)
{
onLengthWasMapped(true);
}
#endif
}
else
{
_length = newLength;
Envelope.Length = newLength;
#if UNITY_EDITOR
if (onLengthWasMapped != null)
{
onLengthWasMapped(false);
}
#endif
}
}