Crate osu_file_parser
source · [−]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
Asserts that two osu file strings are equal.
Tests equality of two osu file strings.
Trims the given osu file string into something that can be tested for equality.