A simple music player TUI written in Rust, with Vim-like controls.
- Directory scan of common audio files (
mp3,flac,wav,ogg) - Keyboard-driven TUI with Vim-like controls
/filter with word-by-word fuzzy matchingCtrl+eexits filter input without starting playback- Right-sid panes for metadata and embedded lyrics (opened up with
K/gl) - Opt-in lyrics loading via config, with timed-line emphasis for synced lyrics
- MPRIS integration for
playerctl/ media keys - Per-directory state persistence (selection, filter, shuffle, loop, volume, last track)
- Number-driven movement for
hjklskipping / navigation
- Dependencies:
rodiorequirementslibasound2-dev(on Ubuntu-based at least)
- The version uploaded to
crates.iois the one on the develop branch:
cargo install presto- Build:
cargo build - Run:
cargo run -- [music_dir]- If
music_diris omitted, it defaults to the current directory
- If
Visit the web version or start with docs/README.md
Finished TODOs will migrate onto the changelog.
List of items to tackle
- Enabling re-ordering / disabling some status sections
List of items to tackle / consider
- Listening stats (amount, usage, recent songs, etc.)
- Theming
- Cross-platform compatibility (config/state paths, media controls, audio backend support)
- Server-client restructuring
Caution
VERY LOUD, will try to record it next time with less volume