osu icon indicating copy to clipboard operation
osu copied to clipboard

Seeking between timing sections in editor doesn't match stable.

Open Pennek opened this issue 1 year ago • 6 comments

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

compressed-logs.zip

Pennek avatar Oct 01 '24 06:10 Pennek

Hmm, by all accounts stables keys were back-to-front from the expectation here so I'm not sure what to do..

peppy avatar Oct 03 '24 08:10 peppy

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?

peppy avatar Oct 03 '24 08:10 peppy

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

seek2.webm

Pennek avatar Oct 04 '24 00:10 Pennek

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

Seems like a duplicate of https://github.com/ppy/osu/issues/28885 then?

bdach avatar Oct 04 '24 05:10 bdach

it seems like we gotta do something like this? This only involves seeking back old unsure how to implement it though.

TaterToes avatar Oct 17 '24 16:10 TaterToes

? 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

TaterToes avatar Oct 17 '24 20:10 TaterToes

Can we close this now that the up/down case is fixed?

peppy avatar Oct 23 '24 07:10 peppy

Yes, this looks good to me. Feel free to close it

Pennek avatar Jan 27 '25 19:01 Pennek