6 releases
new 0.3.0 | Feb 15, 2025 |
---|---|
0.2.0 | Apr 3, 2023 |
0.1.3 | Feb 25, 2023 |
#483 in Parser implementations
90 downloads per month
Used in 2 crates
155KB
5K
SLoC
m8-files
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.3
- v4 reading
- v4 overwriting, you can load, modify elements and rewrite the same song.
- Does not work with song other than v4/v4.1
- Added EQ with plotting
- Mapped all FX instruction depending on the names
- Mapped enums to many instrument parameters with human readable information
0.2
- Add V3 support
- Fix instrument alignment issues
Dependencies
~300–770KB
~17K SLoC