1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 22:07:25 +08:00
Commit Graph

30 Commits

Author SHA1 Message Date
Dean Herbert
cc8b838bd4
Add comprehensive log output to help figure out problematic clocks 2024-02-29 23:05:28 +08:00
Mike Will
012d6b7fe1 Change userBeatmapOffsetClock to a FramedOffsetClock
Assuming that the global audio offset is set perfectly, such that
any audio latency is fully accounted for, if a specific beatmap
still sounds out of sync, that would no longer be a latency issue.

Instead, it would indicate a misalignment between the beatmap's
track and time codes, the correction for which should be a
virtual-time offset, not a real-time offset.
2024-02-19 09:14:49 -05:00
Dean Herbert
8ab8c90e33
Remove "pause rate adjust" flow 2024-01-18 14:21:02 +09:00
Dean Herbert
f8455af0d0
Fix double interpolation being applied when applyOffsets=false 2023-10-05 13:20:52 +09:00
Dean Herbert
d019cb5167 Update in line with framed clock changes 2023-09-22 22:02:18 +09:00
Dean Herbert
6629a47ed3 Fix FramedBeatmapClock's source not being processed 2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196 Set source directly in FramedBeatmapClock ctor
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
0200b63fd3 Add note about beatmap offset not being reapplied correctly on ChangeSource 2023-09-22 14:41:07 +09:00
Dean Herbert
a451ab75dd Remove hopefully-unnecessary workaround
It was causing issues with the new implementation.
2023-09-22 14:41:05 +09:00
Dean Herbert
df08c4e1ad Disable decoupling for OsuGameBase's beatmap implementation
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812 Remove unnecessary encapsulation workaround
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).

This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Dean Herbert
21a2e27e5f Simplify some pieces of FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
04e6ec8715 Fix interpolation not being applied when applyOffsets is set 2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6 Update usage of DecoupleableInterpolatingFramedClock in FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b Change FramedBeatmapClock to always be decoupled 2023-09-22 12:49:25 +09:00
Dean Herbert
bf984388b3 Update clocks in line with framework changes 2023-09-20 21:17:08 +09:00
Dean Herbert
75c1d5ad7f Add lenience to FramedBeatmapClock workaround 2023-08-02 18:49:24 +09:00
Dean Herbert
2e98ab0a48 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Dean Herbert
d6748d6921 Avoid double call to ProcessFrame 2022-09-09 14:35:47 +09:00
Dean Herbert
64cf6b9014 Compare with decoupled clock directly to avoid including offsets 2022-09-09 14:35:35 +09:00
Dean Herbert
20ffbc4676 Fix beat sync stopping after returning to menu from a failed play
Closes #20193.

Explanation is inline comment.
2022-09-09 14:13:03 +09:00
Dean Herbert
2dafa041a7 Account for offset being applied to editor clock time in TestSceneEditorClock 2022-08-29 16:42:50 +09:00
Dean Herbert
29fed0c4a3 Avoid setting the source clock until gameplay is ready to start
Without this change, the audio track may audibly seek during load
proceedings.
2022-08-23 18:34:17 +09:00
Dean Herbert
17a1df281c Fix incorrect implicit null specification for user audio offset bindable 2022-08-22 14:03:51 +09:00
Dean Herbert
ba23ce75c2 Make FramedBeatmapClock.Track non-null 2022-08-22 14:02:41 +09:00
Dean Herbert
85d0b7fc57 Reword class xmldoc to better explain that offset application is optional 2022-08-22 14:02:20 +09:00
Dean Herbert
bcc153f738 Add xmldoc and reorganise FramedBeatmapClock 2022-08-18 18:54:10 +09:00
Dean Herbert
6003afafc7 Use FramedBeatmapClock in GameplayClockContainer 2022-08-18 18:54:10 +09:00
Dean Herbert
32e127a6fa Add FramedBeatmapClock
Expose `IsCoupled` in `FramedBeatmapClock` for now to provide editor compatibility
2022-08-18 18:54:10 +09:00