7 releases
new 0.3.1 | Feb 21, 2025 |
---|---|
0.3.0 | Feb 15, 2025 |
0.2.0 | Apr 3, 2023 |
0.1.3 | Feb 25, 2023 |
#530 in Parser implementations
108 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.3.1"
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
- Throw more parse errors
- Displays: MixerSettings, EffectsSettings, Instrument, MidiSettings, MidiMapping
Changelog
0.3.1
- Fixing visibility of Eq types (was private in 0.3)
- FmAlgo content is now publicly visible
- Each instrument filter type can now be accessed through the filter_types method
- Parameters and modulation destination constants is now public.
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
~310–780KB
~17K SLoC