Added README.md

master
hheik 2024-03-12 12:10:00 +02:00
parent 7771929002
commit bfdfe382b5
1 changed files with 43 additions and 0 deletions

43
README.md Normal file
View File

@ -0,0 +1,43 @@
# 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](https://github.com/jonsafari/mocp)
## 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](https://opus-codec.org/) 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](src/os_unix.rs) for more info.