Reading, writing, manipulating, and converting simfiles.
A simfile is a file used in a rhythm game simulator. This library provides tools for reading them, creating them, modifying them, and transcoding between them. The intention is to have a one-stop shop for working with all formats. A number of common simfile types are supported, including:
.msd
This library provides a Song
type, which stores the data for a single simfile song. A Song
can
be read directly from an existing simfile of any supported type.
Reading a Song
from a .msd
simfile is done as follows:
use simfile::Song;
let song = Song::read_msd("simfile.msd").expect("error while reading `.msd` file");
Similarly, writing to a .msd
simfile is done from an existing Song
as follows:
song.write_msd("simfile.msd").expect("error while writing `.msd` file");
Note that both Song::read_msd()
and Song::write_msd()
return Result
types that must be
handled appropriately.
This crate is guaranteed to compile on stable rustc 1.58.0
and up.
This project is licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.