A 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
- Deserialize
AmigaModule
struct usingAmigaModule::load(&amiga)
- Convert to struct
Module
using.to_module()
- Deserialize
XmModule
struct usingXmModule::load(&XM)
- Convert to struct
Module
using.to_module()
- 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.
let mut mod = Module::load(&data)?;
let data = mod.save()?;
data contain a small five bytes header b"XMrs" + version coming from CARGO_PKG_VERSION_MAJOR.