Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
Pennek opened this issue Oct 1, 2024 · 8 comments
Closed

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

Pennek opened this issue Oct 1, 2024 · 8 comments

Comments

@Pennek
Copy link
Contributor

Pennek commented Oct 1, 2024

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

@peppy
Copy link
Member

peppy commented Oct 3, 2024

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

@peppy
Copy link
Member

peppy commented Oct 3, 2024

As for seeking while the track is playing, we already kinda account for this:

if (trackPlaying)
{
// generally users are not looking to perform tiny seeks when the track is playing.
// this multiplication undoes the division that will be applied in the underlying seek operation.
// scale by BPM to keep the seek amount constant across all BPMs.
var timingPoint = editorBeatmap.ControlPointInfo.TimingPointAt(clock.CurrentTimeAccurate);
amount *= beatDivisor.Value * (timingPoint.BPM / 120);
}

and in practice it seems okay to me. Is there a specific beatmap where you're having an issue with this?

@Pennek
Copy link
Contributor Author

Pennek commented Oct 4, 2024

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

@bdach
Copy link
Collaborator

bdach commented Oct 4, 2024

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 #28885 then?

@TaterToes
Copy link
Contributor

TaterToes commented Oct 17, 2024

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

@TaterToes
Copy link
Contributor

TaterToes commented Oct 17, 2024

? 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

@peppy
Copy link
Member

peppy commented Oct 23, 2024

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

@Pennek
Copy link
Contributor Author

Pennek commented Jan 27, 2025

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

@bdach bdach closed this as completed Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants