55 releases (8 breaking)
0.9.6 | Dec 22, 2024 |
---|---|
0.8.5 | Oct 20, 2024 |
0.6.2 | Jul 20, 2024 |
0.4.13 | Mar 30, 2024 |
0.2.3 | Mar 26, 2023 |
#40 in Audio
1,263 downloads per month
Used in 5 crates
(4 directly)
385KB
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 (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
.
About std
if you want to use std feature use cargo build --no-default-features --features=std --release
lib.rs
:
XMrs is a Safe SoundTracker Library
Module+--->Instrument+--->InstrDefault+--->Sample (Loop, Sustain Loop)
| | +--->Envelope (Pitch, Volume, Panning)
| | +--->Vibrato
| | +--->InstrMidi
| +--->InstrEkn (Euclidian Rythm Instrument)
| +--->InstrMidi
| +--->InstrOpl (Yamaha OPL)
| +--->InstrSid (MOS6581 SID Voices)
| +-+->InstrRobSid+--->InstrSid
+--->Pattern--->Row--->TrackUnit+--->TrackEffect
+--->GlobalEffect
You can load historical IT, S3M, SID, MOD, XM files using import
(see README.md
)
You can serialize your work using serde
Dependencies
~1–2MB
~44K SLoC