From 13dab24d418eebad5c4884ccc4e61837b8729c38 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 21 Nov 2025 16:56:58 +0900 Subject: [PATCH] Adjust to 200 ms debounce This [matches stable](https://github.com/peppy/osu-stable-reference/blob/52f3f75ed7efd7b9eb56e1e45c95bb91504337be/osu!/Audio/AudioEngine.cs#L1295) and feels somewhat better. --- osu.Game/Overlays/NowPlayingOverlay.cs | 4 +++- .../Edit/Components/Timelines/Summary/Parts/MarkerPart.cs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/osu.Game/Overlays/NowPlayingOverlay.cs b/osu.Game/Overlays/NowPlayingOverlay.cs index 9f9f57336c..28119615f3 100644 --- a/osu.Game/Overlays/NowPlayingOverlay.cs +++ b/osu.Game/Overlays/NowPlayingOverlay.cs @@ -29,6 +29,8 @@ namespace osu.Game.Overlays { public partial class NowPlayingOverlay : OsuFocusedOverlayContainer, INamedOverlayComponent { + public const double TRACK_DRAG_SEEK_DEBOUNCE = 200; + public IconUsage Icon => OsuIcon.Music; public LocalisableString Title => NowPlayingStrings.HeaderTitle; public LocalisableString Description => NowPlayingStrings.HeaderDescription; @@ -226,7 +228,7 @@ namespace osu.Game.Overlays private void onSeek(double progress) { - if (lastSeekTime == null || Time.Current - lastSeekTime > 500) + if (lastSeekTime == null || Time.Current - lastSeekTime > TRACK_DRAG_SEEK_DEBOUNCE) { musicController.SeekTo(progress); lastSeekTime = Time.Current; diff --git a/osu.Game/Screens/Edit/Components/Timelines/Summary/Parts/MarkerPart.cs b/osu.Game/Screens/Edit/Components/Timelines/Summary/Parts/MarkerPart.cs index c9a44eab4a..b7453bf7f6 100644 --- a/osu.Game/Screens/Edit/Components/Timelines/Summary/Parts/MarkerPart.cs +++ b/osu.Game/Screens/Edit/Components/Timelines/Summary/Parts/MarkerPart.cs @@ -5,6 +5,7 @@ using System; using osu.Framework.Allocation; using osu.Framework.Graphics; using osu.Framework.Input.Events; +using osu.Game.Overlays; using osu.Game.Screens.Edit.Compose.Components.Timeline; using osuTK; @@ -66,7 +67,7 @@ namespace osu.Game.Screens.Edit.Components.Timelines.Summary.Parts double seekDestination = markerPos / DrawWidth * editorClock.TrackLength; marker.X = (float)seekDestination; - if (!instant && lastSeekTime != null && Time.Current - lastSeekTime < 500) + if (!instant && lastSeekTime != null && Time.Current - lastSeekTime < NowPlayingOverlay.TRACK_DRAG_SEEK_DEBOUNCE) return; editorClock.SeekSmoothlyTo(seekDestination);