xmrs

Crates.ioxmrs
lib.rsxmrs
version0.8.5
sourcesrc
created_at2023-03-12 16:14:42.698424
updated_at2024-10-20 21:57:34.981586
descriptionA library to edit SoundTracker data with pleasure
homepage
repositoryhttps://codeberg.org/sbechet/xmrs
max_upload_size
id808145
size312,665
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".

For now MOD Amiga Modules, S3M Scream Tracker III and XM FastTracker II files are supported.

Rob Hubbard C64 SID import is a WIP.

Useful struct parts:

To edit data, use Module struct.

You can serialize Module using serde bincode (see std feature).

Load MOD file

Use import_mod feature

  1. Deserialize AmigaModule struct using AmigaModule::load(&amiga)
  2. Convert to struct Module using .to_module()

Load S3M file

Use import_s3m feature

  1. Deserialize S3mModule struct using S3mModule::load(&s3m)
  2. Convert to struct Module using .to_module()

XM file

Use import_xm feature

Load

  1. Deserialize XmModule struct using XmModule::load(&XM)
  2. Convert to struct Module using .to_module()

Save

  1. Convert Module to XmModule: XmModule::from_module(&module)
  2. Serialize using XmModule save() fn

Note: You can only save InstrDefault in 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

Commit count: 0

cargo fmt