58 releases
| 0.9.9 | May 1, 2025 |
|---|---|
| 0.9.6 | Dec 22, 2024 |
| 0.8.5 | Oct 20, 2024 |
| 0.6.2 | Jul 20, 2024 |
| 0.2.3 | Mar 26, 2023 |
#218 in Embedded development
103 downloads per month
Used in 5 crates
(4 directly)
390KB
9K
SLoC
XMrs File format library
A no_std library to edit Sound Tracker data with pleasure.
Because "Representation is the Essence of Programming".
Suppported files:
- IT Impulse Tracker
- MOD Amiga Modules
- S3M Scream Tracker III
- SID Rob Hubbard C64 files (WIP).
- XM FastTracker II
To edit data, use Module struct.
You can serialize Module using serde or bincode2 (see std feature).
How to load historical tracker files
Test with cargo run --no-default-features --features=demo --example xmrs -- --help, then read 50 lines examples/xmrs example.
About no_std
micromath is used by default in no_std. If you prefer libm, use cargo build --no-default-features --features=libm --release.
If you want to use import, add --features=import.
If you want to optimize for memory or space in the embedded context, don't use the import feature, but prefer to prepare a serialized version with bincode with alloc feature and possibly flate2-rs.
About std
If you want to use std feature use cargo build --no-default-features --features=std --release
If you'd like to post-process in another language (but why use another language when you're lucky enough to have rust!?) don't forget that, after loading, you can serialize in json with serde.
Dependencies
~0.8–2MB
~44K SLoC