From 8de323b68c9a1ef39faa44759b5fdda0648184f1 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 18 Mar 2026 13:56:34 +0900 Subject: [PATCH] Adjust fade in and fade out during track transitions to reduce overlap Based on feedback I've heard more than once, there's too much overlap compared to stable. And it can sound a bit "jumbled" as a result, especially when transitioning between two songs with loud and "complex" audio. Yes, I'm aware that the delay is not accounted for in the constant. This is intentional because it sounds better. I want this to be an internal adjustment which is not to be considered by any external usages of those constants. Just sounds better. --- osu.Game/Overlays/MusicController.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs index b4b2628a64..258496a764 100644 --- a/osu.Game/Overlays/MusicController.cs +++ b/osu.Game/Overlays/MusicController.cs @@ -37,8 +37,8 @@ namespace osu.Game.Overlays /// private const double restart_cutoff_point = 5000; - public const double TRACK_FADE_IN_TIME = 500; - public const double TRACK_FADE_OUT_TIME = 300; + public const double TRACK_FADE_IN_TIME = 250; + public const double TRACK_FADE_OUT_TIME = 100; /// /// Whether the user has requested the track to be paused. Use to determine whether the track is still playing. @@ -530,8 +530,9 @@ namespace osu.Game.Overlays if (queuedTrack == CurrentTrack) { + queuedTrack.Volume.Value = 0; AddInternal(queuedTrack); - queuedTrack.VolumeTo(0).Then().VolumeTo(1, TRACK_FADE_IN_TIME, Easing.Out); + queuedTrack.Delay(50).VolumeTo(1, TRACK_FADE_IN_TIME, Easing.Out); } else {