l4l / rum

TUI music player for Ya.Music
Do What The F*ck You Want To Public License
12 stars 1 forks source link
audio audio-player rust tui

RUM Player

Build Status Crates.io

RUM is a terminal music player powered by tui-rs. It is able to play remote audio from Ya.Music. Note: Haven't been tested on MacOS yet, feel free to file a report/issues.

Usage

Playing media is performed via mpv player, thus it need to be installed (e.g. libmpv-dev on ubuntu, or mpv on arch linux).

cargo install rum-player
# by default installed at ~/.cargo/bin, you may add it to path:
export PATH=$PATH:~/.cargo/bin
rum-player

Currently, the tool has several main views: album/artist search panel, track list view and a playlist.

Hotkeys

Hotkeys can be set via toml config, it should be placed at $XDG_CONFIG_HOME for Linux, or at $HOME/Library/Preferences for macOS. All bindings must be specified at [hotkey] table and should be in form (note quotes): "Event" = "Action". Hotkeys might also be specified for a particular view or context (currently only for one at a time) via sub-table. If no context specified then hotkey considered as global and will be used with a lower priority. Here is a config example:

[hotkey]
"PointerUp" = "ArrowUp"
"PointerDown" = "ArrowDown"
"NextTrack" = "+"
"PrevTrack" = "-"
"Forward5" = "Ctrl++"
"Backward5" = "Ctrl+-"

[hotkey.search]
"PointerUp" = "ArrowDown"
"PointerDown" = "ArrowUp"

[hotkey.tracklist]
"Select" = "Alt+0"

Default hotkeys are the following:

Development

For development you need any rust compiler: https://rustup.rs/. Afterwards you may build sources via cargo build and start hacking. Please also use rustfmt & clippy at development process: rustup component add rustfmt clippy.