Skip to content

Comments

Adjust nightcore sample playback to not stop randomly and be closer to stable#36702

Merged
peppy merged 1 commit intoppy:masterfrom
bdach:nightcore-closer-to-stable
Feb 20, 2026
Merged

Adjust nightcore sample playback to not stop randomly and be closer to stable#36702
peppy merged 1 commit intoppy:masterfrom
bdach:nightcore-closer-to-stable

Conversation

@bdach
Copy link
Collaborator

@bdach bdach commented Feb 19, 2026

Aside from fixing the off-by-one error that I mentioned in #30293 (comment), this also:

  • Brings back the behaviour wherein if timing points are arranged very weird and nightcore would play e.g. two first beats in a timing point back-to-back, the second timing point is silent.
  • Brings back the behaviour wherein the finish sample only plays if OmitFirstBarLine on the timing point is disabled.

However:

  • This does not bring back the behaviour wherein hat samples only play if the slider tick rate is even because that only kind of makes sense in common time, and if common time is mixed with waltz time or other time signatures, it just gets weird.
  • Also stable has zero attempt for compensating for waltz time anyway, lazer's behaviour is bespoke, so that is not going to match any way you cut it.

My testing procedure essentially consisted of getting stable to log when it was playing nightcore samples and cross-checking the first 30sec or so of https://osu.ppy.sh/beatmapsets/534385#osu/1131956 (check out the timing of that beatmap, for something ranked it is DEEPLY messed up).

I guess I can add test cases if deemed required but I already wasted much more time than I would have liked here...

…o stable

- Closes ppy#30293
- Fixes https://osu.ppy.sh/community/forums/topics/2179339?n=1

Aside from fixing the off-by-one error that I mentioned in
ppy#30293 (comment), this
also:

- Brings back the behaviour wherein if timing points are arranged very
  weird and nightcore would play e.g. two first beats in a timing point
  back-to-back, the second timing point is silent.
- Brings back the behaviour wherein the finish sample only plays if
  `OmitFirstBarLine` on the timing point is disabled.

However:

- This does not bring back the behaviour wherein hat samples only play
  if the slider tick rate is even because that only kind of makes sense
  in common time, and if common time is mixed with waltz time or other
  time signatures, it just gets weird.
- Also stable has zero attempt for compensating for waltz time anyway,
  lazer's behaviour is bespoke, so that is not going to match any way
  you cut it.

My testing procedure essentially consisted of getting stable to log when
it was playing nightcore samples and cross-checking the first 30sec or
so of https://osu.ppy.sh/beatmapsets/534385#osu/1131956 (check out the
timing of that beatmap, for something ranked it is DEEPLY messed up).

I guess I can add test cases if deemed required but I already wasted
much more time than I would have liked here...
@bdach bdach self-assigned this Feb 19, 2026
@bdach bdach moved this from Inbox to Pending Review in osu! team task tracker Feb 19, 2026
@peppy peppy self-requested a review February 20, 2026 03:46
@peppy peppy merged commit 1e8b9a7 into ppy:master Feb 20, 2026
9 of 10 checks passed
@github-project-automation github-project-automation bot moved this from Pending Review to Done in osu! team task tracker Feb 20, 2026
@bdach bdach deleted the nightcore-closer-to-stable branch February 20, 2026 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Nightcore beats don't resume playing correctly after pausing

2 participants