bmson-spec icon indicating copy to clipboard operation
bmson-spec copied to clipboard

Unspecified case of BPM <= 0

Open zardoru opened this issue 9 years ago • 3 comments

The standard does not explain how the case of bpm <= 0 should be dealt with. I believe the case should be that:

  • BPM < 0: Backwards scroll.
  • BPM = 0: Invalid BPM.

Opinions?

zardoru avatar Jan 23 '16 00:01 zardoru

I agree with the propositions here and I feel like this belongs in the technical specification to make sure we don't end up with several implementations.

DolphinDTM avatar Apr 25 '17 15:04 DolphinDTM

I agree.

Should we process negative BPMs like StepMania?

More info here: http://vsrg.club/forum/showthread.php?tid=178

I think LR2 also processes negative BPMs similarly: https://hitkey.nekokan.dyndns.info/exbpm-object.htm

dtinth avatar Apr 25 '17 18:04 dtinth

I don't think a negative BPM should skip over notes (or beats). A warps section should be the one to do that, so to keep future implementations simple (and that a measure + fraction -> time transformation yields a vaild time) a note in a negative section could be placed towards the opposite side. Looking at how stepmania would do it, would be to take an integration over BPS then setting global position to translation/beat * current beat and note position to measure + fraction.

On the other hand (what I propose) is to set position based on time, and integrate position to time (using speed / time instead of speed / beat)

zardoru avatar Apr 25 '17 21:04 zardoru