rmp/README.md

1.4 KiB

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.