llllllllll / slider

Utilities for working with osu! files and data
https://llllllllll.github.io/slider/index.html
GNU Lesser General Public License v3.0
39 stars 16 forks source link

Mania Hold Notes Cannot be Parsed #116

Open 120-cell opened 11 months ago

120-cell commented 11 months ago

The parser for mania hold notes assumes that endTime and hitSample are separated by a comma, when they are actually separated by a colon.

The result is

ValueError: end_time should be an int, got '5973:0:0:0:0:'
tybug commented 11 months ago

can you share a beatmap id that reproduces this?

120-cell commented 11 months ago

https://osu.ppy.sh/beatmapsets/2078794#mania/4353819 As far as I can tell, any map with a hold note will cause this issue.

I'm using the AUR release, maybe that changes things, but this code looks the same as on my installation: https://github.com/llllllllll/slider/blob/040e17feae46d3b4815b4f4fc93b2bd54ca1ec4a/slider/beatmap.py#L977-L991

120-cell commented 11 months ago

replacing

end_time, *rest = rest

with

end_time_hit_sample, *rest = rest
end_time, *hit_sample = end_time_hit_sample.split(':')

fixed it for me.