Changes for version 0.2.6 - 2026-04-20

  • Fix: track auto-advance now handles mpv 'end-file' with reason=error (transient network/stream failures), and no longer spuriously advances on reason=stop (which fires for user-initiated stop and for loadfile-replace pre-emption).
  • Fix: re-playing a track already visible in the list no longer re-centres the tracklist viewport. _highlight_path checks get_visible_range first and only scrolls when the target row is off-screen.
  • A-Z sidebar strip now follows the selected category: operates on Artists / Albums / Genres depending on the current sidebar selection, and is disabled (insensitive) while All Tracks or a Folders entry is selected.
  • New "YYYY-AlbumName" folder/filename convention: when an album (inferred from the folder path) or a filename starts with a 19xx/20xx year followed by '-', the prefix is stripped from the album/title and the year is written to the track's year metadata. Re-scan to populate existing tracks.
  • Tracklist gains a Year column between Genre and Duration.

Documentation

GTK3 music player for Google Drive

Modules

GTK3 music player for Google Drive
Load, persist and query DrivePlayer configuration
SQLite database facade for the DrivePlayer library
GTK3 application window for DrivePlayer
Role for Drive folder browsing dialogs
Role for background metadata fetching
Role for Google Sheet synchronisation
Fetch track metadata from iTunes, MusicBrainz, and AcoustID
mpv-based audio player that streams from Google Drive
Recursively scan a Google Drive folder and store tracks
DBIx::Class schema for the DrivePlayer SQLite database
DBIx::Class result for the folders table
DBIx::Class result for the scan_folders table
DBIx::Class result for the tracks table
Common imports for all DrivePlayer modules
Sync the DrivePlayer library to/from a Google Sheet