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
- (More planned for future versions)
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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.