public override void Update() { base.Update(); sliderBar.SetValue((float)AudioEngine.Time / AudioEngine.AudioLength, true); if (newAim.HasValue) { int aim = newAim.Value; int diff = Math.Abs(aim - AudioEngine.Time); if (diff < 100) { if (AudioEngine.IsReversed && Player.IsSliding) { return; } AudioEngine.ChangeFrequencyRate(1); newAim = null; } else if (aim > AudioEngine.Time) { AudioEngine.ChangeFrequencyRate(Math.Min(10, 0.8f + diff / 2000f)); } else { AudioEngine.ChangeFrequencyRate(Math.Max(-10, -0.2f - diff / 2000f)); } } else { sliderBarUser.SetValue(sliderBar.Current, true); } }