Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

501 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

verse

verse

a music player built with Rust

Platform License Status


About

Verse is a local music player for your own files. It scans a folder, reads the tags, and plays what it finds. No accounts, no streaming, no network.

Its interface is built from panes you arrange yourself. Rather than a fixed window with a fixed sidebar, the layout is a tree you split, resize, lock, and drag into whatever shape suits you, then save as a named preset. In normal mode the chrome disappears entirely and only content remains; press e and the handles, split buttons, and locks fade in over it.

Alpha. The playback core and the layout system work. Several pane kinds are still placeholders. See Panes for what is and isn't implemented.

Features

  • Playback: play, pause, seek, volume, and loop modes (off, queue, single)
  • Library: recursive folder scan, indexed in parallel with Rayon and cached in SQLite
  • Metadata: ID3, Vorbis, and other tag formats via Lofty, with embedded cover art
  • Queue: reorderable, with play-next and add-to-queue on any selection
  • Playlists: stored in the local database
  • Ratings: per-track, persisted
  • Search: filters the library as you type
  • Pane layout: split, resize, lock, drag-and-drop, and named presets
  • Artwork cache: covers decoded once and reused for the session

Supported Formats

FormatExtension
AAC.aac
ALAC / AAC (MP4).m4a
FLAC.flac
MP3.mp3
Vorbis.ogg
WAV.wav

Panes

Panes are chosen per-slot from a picker in edit mode. Placeholder panes are selectable and render their name; they hold their slot in the layout but have no content yet.

ImplementedPlaceholder
Library, Search, Queue, Controls, Timeline, Volume, Artwork, Collections Albums, Artists, Playlists, Folders, Now Playing, History, Lyrics, Track Info, Visualizer, Equalizer, Settings

Keys

Every key below is rebindable in Preferences → Keybindings. These are the defaults.

KeyAction
SpacePlay / pause
/ Previous / next track
/ Volume up / down
mMute
rCycle loop mode
hShuffle queue
eToggle edit mode
sToggle preferences
1 to 9, 0Switch to layout preset (ten slots)

Download

Prebuilt binaries are on the releases page.

Download Platform
verse-windows-x86_64.zip Windows 10 or newer
verse-linux-x86_64.tar.gz Linux (glibc, ALSA)

Extract and run. There is no installer.

Build

Requires Rust 1.88 or newer.

cargo build --release
cargo run -p verse-gui

On Linux, ALSA development headers are needed to build the audio backend:

sudo apt install libasound2-dev   # Debian/Ubuntu
sudo dnf install alsa-lib-devel   # Fedora
sudo pacman -S alsa-lib           # Arch

The workspace is two crates. verse-core holds the audio backend, library scanning and database, queue, and playlists, and depends on nothing in the frontend. verse-gui is the iced interface and pane system, and builds the verse binary.

Design notes for the larger subsystems live in docs/: panes.md for the layout system, overlay-cursor.md for the iced overlay hit-testing problem, and layout.md for the pane_grid approach it replaced.

Files

WindowsLinux
Config%APPDATA%\verse\config.toml~/.config/verse/config.toml
Library%APPDATA%\verse\data\library.db~/.local/share/verse/library.db

Privacy

Verse is entirely local. No telemetry, no analytics, no network requests. Your library stays on your machine.

About

Customizable music player

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages