A lightweight music player built with Rust & Slint
Currently only tested a little bit on Arch & OSX, but there are builds for windows to check out as well.
Open it up and point to a folder with music files. It'll recursively scan, analyse and add them.
Basically should be the same as any audio player you're used to, with play/pause etc..
But it does extract some info about the tracks & maintains your last playing state so you can resume where you left off.
- Analyses tracks and extracts metadata/cover art and builds a waveform.
- Cross platform UI with Slint
- Track analysis with
Symphonia - Track cache using
fjall - Playback using
rodio - Media Control Integration with
souvlaki
| Key | Action |
|---|---|
| Space | Play / pause |
| ← / → | Seek back / forward 5 seconds |
| Shift+← / → | Seek back / forward 30 seconds |
| 0–9 | Jump to 0%–90% of the track |
| Home | Restart the track |
| Ctrl+← / → | Previous / next track |
| ↑ / ↓ | Volume up / down |
| M | Mute / unmute |
| S | Toggle shuffle |
| L | Scroll to the playing track |
| Ctrl+F or / | Search |
| Enter (in search) | Play the first match |
| Esc (in search) | Clear and close search |
| Ctrl+O | Open a music folder |
| Ctrl+Q | Quit |
On macOS, use Cmd in place of Ctrl.
Note: This is a bit of an alpha project and there are probably bugs. Feel free to raise an issue or a PR!
You can download the latest release for your platform from the releases page.
You will need to ensure that you have the appropriate prereqs for slint
I.e,
sudo apt install -y build-essential libx11-xcb1 libx11-dev libxcb1-dev libxkbcommon0 libinput10 libinput-dev libgbm1 libgbm-dev
Then run:
cargo build --release
Make sure you can compile it, then run from this dir:
cargo install --path .
Make sure the cargo bin is on your path.
Then you can create a desktop entry by running:
./install_desktop_entry.sh
