osu icon indicating copy to clipboard operation
osu copied to clipboard

Editor should be using GameplayClockContainer for correct offsets

Open peppy opened this issue 4 years ago • 3 comments

Right now the editor doesn't apply hardware / user offsets as these are done locally in GameplayClockContainer. This either needs to be extracted, or optimally, all clock logic should be shared between the player and editor implementations.

peppy avatar Jan 02 '21 05:01 peppy

Me and @Cublibre would like to work on this!

marlinabowring avatar Mar 31 '21 17:03 marlinabowring

@marlinabowring @Cublibre This task is a little on the technical side rather than being a straightforward feature, so I'm not super sure whether it's clear to newcomers what the expected solution to this issue is, without being familiar with the code. I'd recommend having a look around first and seeing if you can determine what this is about exactly, if you haven't already - feel free to ask follow-up questions in this issue thread if it is unclear. Additionally, make sure you've read through the contributing guidelines firsthand.

bdach avatar Mar 31 '21 20:03 bdach

I've already made a start on this but didn't get far because there's a few design considerations I'm still figuring out.

Feel free to give it a go, but as above, it's not a simple or straight-forward task.

peppy avatar Apr 01 '21 00:04 peppy

Closed via https://github.com/ppy/osu/pull/19974.

peppy avatar Aug 30 '22 03:08 peppy

#19974 did not address the issue affecting the editor offsets.

When changing the audio offset, both the beatmap timing offset (ie, local offset) and the audio offset are affected, effectively resulting in zero offset change. I would expect audio offset changes to only affect the audio offset while not affecting the local offset.

https://user-images.githubusercontent.com/36340429/188178812-f52c0aff-8e60-4e64-9b28-483394026c8a.mp4

Changing the local offset simply does nothing to the editor.

https://user-images.githubusercontent.com/36340429/188179378-07dbb316-d25b-47e7-a700-42f86e979bcf.mp4

I didn't show in the above video, but in both cases of 0 ms and 50 ms early local offset I would still need to apply the same +31 ms timing offset to the map to line up the map timing to the beat.

jansenmtan avatar Sep 02 '22 15:09 jansenmtan

I've tested and it's working correctly for me.

peppy avatar Sep 02 '22 15:09 peppy