39 releases
new 0.6.2 | Jul 20, 2024 |
---|---|
0.6.0 | May 29, 2024 |
0.4.13 | Mar 30, 2024 |
0.3.3 | May 29, 2023 |
0.2.3 | Mar 26, 2023 |
#82 in Audio
307 downloads per month
Used in 5 crates
(3 directly)
93KB
2.5K
SLoC
XMrs File format library
A no_std library to edit Sound Tracker data with pleasure.
Because "Representation is the Essence of Programming".
For now MOD Amiga Modules and XM FastTracker II files are supported.
Useful struct parts:
- Module
- Pattern
- Instrument
- InstrDefault for Historical XM Instrument
- InstrEkn for Euclidian Rythm Instrument
- InstrMidi for Midi Instrument
- InstrSid for MOS6581 SID Instrument
- InstrRobSid for historical Rob Hubbard Instrument
Load MOD file
- Deserialize
AmigaModule
struct usingAmigaModule::load(&amiga)
- Convert to struct
Module
using.to_module()
Load XM file
- Deserialize
XmModule
struct usingXmModule::load(&XM)
- Convert to struct
Module
using.to_module()
Save XM file
- Convert
Module
toXmModule
:XmModule::from_module(&module)
- Serialize using
XmModule
save()
fn
Edit data using rustified structs, use Module
struct.
Note: You can only save InstrDefault
using XM fileformat.
About no_std
micromath is used by default in no_std. If you prefer libm, use cargo build --no-default-features --features=libm --release
.
About std
if you want to use std feature use cargo build --no-default-features --features=std --release
About std demo
if you want to test examples use cargo build --no-default-features --features=std,demo --release
Dependencies
~1–2.2MB
~48K SLoC