Status: experimental, unstable, under development.
This is an experimental multi-format mod player engine written in Rust, addressing the main problems found during the development of libxmp: error handling, player accuracy, maintainability.
Current mixing is using code chunks borrowed from libxmp to verify if the players are correctly implemented. Sound quality will be improved over time.
Task list
Must have
- Formats and players
- Standard M.K. loader
✔️ - M.K. fingerprinting
✔️ - Multichannel module loader
✔️ - xCHN/xxCH fingerprinting
✔️ - Protracker M.K. mod player
✔️ - Noisetracker player
✔️ - 15-instrument (Soundtracker)
✔️ - Ultimate Soundtracker
✔️ - Scream Tracker 2
✔️ - Scream Tracker 3
✔️ - Play ST3 M.K. file (e.g. Sundance.mod)
✔️ - Play ST3 xCHN/xxCH files
- Play ST3 M.K. file (e.g. Sundance.mod)
- Fast Tracker II support
- Also play non-ST3 xCHN and xxCH files
- Impulse Tracker support
- Standard M.K. loader
- Quirk table
- Mixer
- Better interpolation
✔️ - Amiga sound emulation
✔️ - Bidirectional loop
- Better interpolation
- Module pre-scan
✔️ - Skip patterns forward/backwards
✔️ - Other language bindings
- C
- Stable API
- Documentation and examples
- Public crate
- Player application
- CLI-based
✔️
- CLI-based
Nice to have, wishlist, etc
- Format support
- Digitrakker player based on original sources
- Imago Orpheus player based on original sources
- Multitracker
- SoundFX
- Other language bindings
- Something else (Go, Python, Java, etc)
- Player application
- Mobile app
- Web-based
- GUI player