Seeking between timing sections in editor doesn't match stable.
Type
Game behaviour
Bug description
I've started mapping in lazer and this is probably the biggest gripe I have so far. In stable Up seeks forward to the nearest timing section while Down seeks backwards. This is inversed in Lazer breaking all muscle memory. Backwards seek leniency also doesn't exist in Lazer making it a pain to seek backwards as you effectively can't do it while the song is playing.
Screenshots or videos
No response
Version
2024.906.2-lazer
Logs
Hmm, by all accounts stables keys were back-to-front from the expectation here so I'm not sure what to do..
As for seeking while the track is playing, we already kinda account for this:
https://github.com/ppy/osu/blob/71044a0766fdfe39274de1ea3c6babb8dfb78a39/osu.Game/Screens/Edit/Editor.cs#L1169-L1176
and in practice it seems okay to me. Is there a specific beatmap where you're having an issue with this?
I've been using default keybinds in stable as far as I know, so every other mapper should have the same issue with the keybinds being different.
The seeking issue happens on every map I've opened. Moving back and forth between timing sections while playback is running isn't possible in lazer as it looks like the backwards seek is clamped to the previous timing point.
Here's a video showcasing me pressing Up and Down to move between two timing sections on both clients to hopefully showcase what I mean a little better. It does work correctly in lazer while paused
Here's a video showcasing me pressing
UpandDownto move between two timing sections on both clients to hopefully showcase what I mean a little better. It does work correctly in lazer while paused
Seems like a duplicate of https://github.com/ppy/osu/issues/28885 then?
it seems like we gotta do something like this? This only involves seeking back
unsure how to implement it though.
? editorBeatmap.ControlPointInfo.AllControlPoints.LastOrDefault(p => p.Time < clock.CurrentTime);
yeah, so it seems like there isn't a time given to account for between presses. so it just keeps seeking back to the same control point.
? editorBeatmap.HitObjects.LastOrDefault(p => p.StartTime < clock.CurrentTimeAccurate)
? editorBeatmap.HitObjects.LastOrDefault(p => p is IHasRepeats r && p.StartTime < currentTime && r.EndTime >= currentTime)
these two, hitobject and samplepoint, seem to work, but I have to click fast to seek back. will probably just leave these alone
Can we close this now that the up/down case is fixed?
Yes, this looks good to me. Feel free to close it