|
|
||
|---|---|---|
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE.md | ||
| README.md | ||
README.md
Rust Music Player
Rust Music Player (rmp), as the name suggests, is a music player written in rust using a terminal interface.
This project is heavily inspired by Music on Console
Usage
Below are some examples of commandline arguments.
If you are using cargo, add cargo run -- before any arguments.
rmp
- Run the interface with the server in the background
rmp -s
- Run only the server
rmp -c
- Run only the client
rmp -x
- Kill the server
rmp --help
- For more help
Architecture
rmp uses a client/server architecture with interprocess communication. The interface is independent from the audio payback.
This has several benefits:
- You can close the interface and keep the music playing
- Controlling the backend is easy to implement using commandline arguments, which makes scripting easier
- The interface stays responsive
- You can have multiple interfaces open at the same time, if needed
Requirements
Opus decoding depends on libopus at the moment.
Using apt: sudo apt install libopus0
Platform compability
Compability is tested only for linux, but all of the crates used (rodio, crossterm, interprocess)
should work cross-platform.
There is some platform-specific code, which is only implemented for unix-like systems at the moment. See os_unix.rs for more info.