I encountered a problem while trying to use parsed sliders from
an osu!std level. I want to find slider's time length (ms) for 1 slide.
Timing Points wiki states that:
Since timing points doesn't have
formula:
If no inherited timing points ->
If there is an inherited timing point ->
Thus, final formula is:
iTpBeatLength - inheritedTimingPointBeatLength a.k.a. "negative inverse slider velocity multiplier".
uTpBeatLength - unheritedTimingPointBeatLength a.k.a beat length.
Example:
uninheritedTimingPoint: 1656,327.868852459016,4,2,0,100,1,0 where 327.868852459016 is our value.
InheritedTimingPoint: 1656,-125,4,2,0,100,0,0 where -125 is our value.
Appologies, if the explanation was unclear.
an osu!std level. I want to find slider's time length (ms) for 1 slide.
Timing Points wiki states that:
I wanted to use this:beatLength
(Decimal): This property has two meanings:
For inherited timing points, a negative inverse slider velocity multiplier, as a percentage. For example, -50 would make all sliders in this timing section twice as fast asSliderMultiplier
.
Notice: The slider'sto calculate time it takes for a 1 slide to be complete. I don't understant whatlength
can be used to determine the time it takes to complete the slider.length / (SliderMultiplier * 100 * SV) * beatLength
tells how many milliseconds it takes to complete one slide of the slider (whereSV
is the slider velocity multiplier given by the effective inherited timing point, or1
if there is none).
effective inherited timing point
means.Since timing points doesn't have
SV
but instead "a negative inverse slider velocity multiplier" I struggle to find SV
.Solution
formula:
length / (SliderMultiplier * 100 * SV) * beatLength
If no inherited timing points ->
SV = 1
If there is an inherited timing point ->
SV = -(1/iTpBeatLength)*100
.Thus, final formula is:
length / (SliderMultiplier * 100 * (-(1/iTpBeatLength)*100)) * uTpbeatLength
iTpBeatLength - inheritedTimingPointBeatLength a.k.a. "negative inverse slider velocity multiplier".
uTpBeatLength - unheritedTimingPointBeatLength a.k.a beat length.
Example:
uninheritedTimingPoint: 1656,327.868852459016,4,2,0,100,1,0 where 327.868852459016 is our value.
InheritedTimingPoint: 1656,-125,4,2,0,100,0,0 where -125 is our value.
Appologies, if the explanation was unclear.