.cargo | ||
assets | ||
scripts | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
DEV.md | ||
LICENSE.md | ||
manifest.default.json | ||
manifest.json | ||
README.md |
(XMPD) Xor64 Music Player/Downloader
An open source music downloader AND player (soon (TM))
Design
Written in rust, it tries to be fast, reliable, and actually useful, as it doesnt stream the music from a server where it could be deleted and lost forever. It uses egui for a crossplatform frontend that makes it possible to run almost anywhere. The music is downloaded via ytdlp and spotdl, and converted to your favorite format via ffmpeg
Offline usage
Your whole music library is downloaded to your music folder (unless its being ran in standalone mode). Saved in your selected format.
All of the info required to download your songs is stored in 1 file (!). So all you need to backup all of your music is just 1 relatively small file AND you get the added benefit of easily moving your music between devices with just 1 manifest file, 1 executable (and 3 dependencies). Just press download all
and see as all of your playlists appear in your hard drive, powereded by Open Source software.
Dependencies
ffmpeg: To convert your music files to your desired format.
spotdl: To download music from spotify, because ofcourse spotify had to be the special child
ytdlp: To download music from every single other source
The rust dependencies can be found in the Cargo.toml file.
Installation
Just run xmpd-setup-{version}.sh
for GNU/Linux or xmpd-setup-{version}.ps1
for Windows!
Compilation
Building the amazing xmpd executable is really simple:
- make sure rust is installed by running
cargo --help
- clone the git repo by running
git clone https://git.mcorangehq.xyz/XOR64/xmpd.git
in your desired directory - run
cargo build --release
- The executable should be in
./target/release/xmpd
NOTE: If you run the executable from the terminal it will start downloading all of your songs, to open the gui run xmpd gui
,
for more info run xmpd --help
Contributing
Fork and clone your repo, you will probably want to use ssh for cloning.
After adding your features or bugfixes push the changes to your fork.
After making sure xmpd works fine, and you havent found any bugs, make a pull request on https://git.mcorangehq.xyz/XOR64/xmpd/pulls
If we approve your changes it will be pushed to the main branch, and added to the contributors!
Current todos are stored in DEV.md
Licensing
See LICENSE.md for the licensing terms