Expand description
A crate to parse an osu! beatmap file.
§How to use
use osu_file_parser::*;
let osu_file_str = include_str!("./tests/osu_files/files/acid_rain.osu");
// parse the .osu file
let mut osu_file = osu_file_str.parse::<OsuFile>().unwrap();
let osb_str = include_str!("./tests/osu_files/files/aspire_osb1.osb");
// .osb file can also be parsed and appended to the `OsuFile` instance
osu_file.append_osb(osb_str).unwrap();
// you can use `assert_eq_osu_str` to assert that the parsed .osu file is equal to the original .osu file
assert_eq_osu_str(&osu_file.to_string(), osu_file_str);
assert_eq_osu_str(&osu_file.osb_to_string().unwrap(), osb_str);
§General information
§Alternative traits
- Most of the types in the crate uses the
VersionedToString
,VersionedFromStr
andVersionedDefault
traits as replacements for theDisplay
,FromStr
andDefault
traits. - Those traits take an extra
version
parameter to choose what version output to use. - If the type doesn’t exist in certain versions, the output will be
None
.
§Errors
Re-exports§
pub use osu_file::*;
Modules§
Functions§
- assert_
eq_ osu_ str - Asserts that two osu file strings are equal.
- osu_
str_ eq - Tests equality of two osu file strings.
- osu_
str_ trimmer - Trims the given osu file string into something that can be tested for equality.