rmp/README.md

44 lines
1.4 KiB
Markdown

# 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 playback.
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.