xmpd/README.md

47 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

# (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.
2024-10-09 23:16:33 +00:00
It uses [egui](https://www.egui.rs/) for a crossplatform frontend that makes it possible to run almost anywhere.
The music is downloaded via [ytdlp](#Dependencies) and [spotdl](#Dependencies), and converted to your favorite format via [ffmpeg](#Dependencies)
## Offline usage
Your whole music library is downloaded to your music folder (unless its being ran in standalone mode). Saved in your selected format.
2024-10-09 23:20:33 +00:00
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](#dependencies)). Just press `download all` and see as all of your playlists appear in your hard drive, powered by Open Source software.
## Dependencies
2024-10-09 23:16:33 +00:00
[ffmpeg](https://ffmpeg.org/): To convert your music files to your desired format.
[spotdl](https://github.com/spotDL/spotify-downloader): To download music from spotify, because ofcourse spotify had to be the special child
[ytdlp](https://github.com/yt-dlp/yt-dlp): To download music from every single other source
The rust dependencies can be found in the [Cargo.toml](/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](/DEV.md)
## Licensing
See [LICENSE.md](/LICENSE.md) for the licensing terms