xmrs

Crates.ioxmrs
lib.rsxmrs
version0.9.9
created_at2023-03-12 16:14:42.698424+00
updated_at2025-05-01 08:05:53.286912+00
descriptionA library to edit SoundTracker data with pleasure
homepage
repositoryhttps://codeberg.org/sbechet/xmrs
max_upload_size
id808145
size510,051
Sbstn Bcht (sbechet)

documentation

https://docs.rs/xmrs

README

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.

Commit count: 0

cargo fmt