5 releases

0.2.0 Apr 3, 2023
0.1.3 Feb 25, 2023
0.1.2 Feb 25, 2023
0.1.1 Feb 25, 2023
0.1.0 Feb 24, 2023

#1986 in Parser implementations


Used in 2 crates

MIT license

80KB
2.5K SLoC

m8-files

Crates.io Docs.rs CI

Reads Dirtwave M8 files into Rust structs.

Big thanks to m8-js who did all the real dirty work.

Usage

Add to your Cargo.toml:

m8-files = "0.2"

Or

$ cargo add play-files

Load an example song:

$ cargo run --example read_song -- examples/songs/DEFAULT.m8s
``**

## TODO
- Add song groove, scale, note_preview
- Add settings: output/speaker volume
- Support writes?
- Throw more parse errors
- Interpret FXCommand based on Instrument
- Displays: MixerSettings, EffectsSettings, Instrument, MidiSettings, MidiMapping

## Changelog
### 0.2
- Add V3 support
- Fix instrument alignment issues

Dependencies

~1.5MB
~39K SLoC