-
Notifications
You must be signed in to change notification settings - Fork 385
Description
Feature Request: Add UADE decoder plugin for Amiga music formats
Summary
Request to add a decoder plugin based on UADE (Unix Amiga Delitracker Emulator) to enable MPD to play Amiga music formats including TFMX, ProTracker modules, OctaMED, and many others.
Background
UADE is a mature, well-established library that provides accurate emulation of Amiga music formats. It supports a comprehensive range of formats used in the demoscene and classic Amiga games/demos. Currently, users need separate players like uade123 to play these formats, breaking the unified music experience that MPD provides.
Supported Formats
UADE supports numerous Amiga music formats, including but not limited to:
- TFMX (.mdat, .tfmx) - Used in many classic games like Turrican series
- ProTracker (.mod) - Classic 4-channel tracker format
- OctaMED (.med) - Advanced Amiga tracker format
- Future Composer (.fc)
- SoundTracker variants
- AHX/THX formats
- And many others (50+ formats total)
Technical Details
- Library: UADE is actively maintained and available at https://gitlab.com/uade-music-player/uade
- License: GPL-compatible
- Stability: Mature codebase, widely used in various music players
- Dependencies: Relatively lightweight, mainly requires the UADE library itself
- Platform: Cross-platform (Linux, macOS, BSD, Windows)
Precedent in MPD
MPD already includes specialized decoder plugins for niche music formats:
sidplay- For C64 SID music (libsidplayfp/libsidplay2)gme- For various game music formats (Game Music Emu)mikmod- For tracker modulesadplug- For AdLib music
A UADE decoder would follow the same pattern and philosophy.
Use Case & Community Benefit
- Demoscene community: Large collection of high-quality Amiga music
- Retro gaming: Soundtrack preservation from classic Amiga games
- Music enthusiasts: Comprehensive format support in a single daemon
- Existing MPD users: Many users already use MPD for specialized formats
The requester successfully integrated SID support into MPD using NixOS package overrides, demonstrating both demand for retro music format support and the extensibility of MPD's plugin architecture.
Implementation Considerations
- File detection could use UADE's built-in format detection
- Configuration options might include:
- Subsong selection (many Amiga modules contain multiple songs)
- Playback duration limits (some modules loop indefinitely)
- Audio quality settings
- Integration with MPD's existing tag system for metadata
Alternative Solutions Considered
Currently users must:
- Use separate players like
uade123for Amiga music - Convert files to standard formats (lossy process, loses authenticity)
- Use different music players entirely
None of these provide the unified experience that MPD aims to deliver.
References
- UADE project: https://gitlab.com/uade-music-player/uade
- UADE documentation: Available in the project repository
- Amiga Music Preservation Project: https://amp.dascene.net/
- Example integration: Various music players already integrate UADE successfully
Request
Would the MPD team consider adding UADE as a decoder plugin? This would make MPD the definitive solution for both modern and retro music formats, serving the needs of a dedicated community while maintaining MPD's philosophy of comprehensive music format support.
Thank you for considering this feature request and for maintaining such an excellent music daemon!