XMrs File format library
A library to edit Sound Tracker data with pleasure.
Because "Representation is the Essence of Programming".
For now 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 XM file
- Deserialize
XmModulestruct usingXmModule::load(&XM) - Convert to struct
Moduleusing.to_module()
Save XM file
- Convert
ModuletoXmModule:XmModule::from_module(&module) - Serialize using
XmModulesave()fn
Edit data using rustified structs, use Module struct.
Note: You can only save InstrDefault using XM fileformat.
Load XMrs fileformat (deflate then bincode)
let mut mod = Module::load(&data)?;
Save XMrs fileformat (bincode then deflate)
let data = mod.save()?;
data contain a small five bytes header b"XMrs" + version coming from CARGO_PKG_VERSION_MAJOR.