Changes for version 0.2.4 - 2026-04-17
- Sheet push is now a merge instead of a full replace: local non-blank values overwrite the sheet, local blanks preserve existing sheet values, and drive_ids only present on the sheet are kept intact. Prevents a device with partially-populated metadata from wiping data pushed from another device.
- No longer auto-fetches metadata on startup. If another device has already populated metadata and synced it to the sheet, a new device doesn't need to refetch. Use Library → Fetch All Metadata to trigger a fetch manually.
- Dropped the Composer field entirely (sheet, edit-metadata dialog, metadata-fetch pipeline, and DB schema). The only source was embedded FLAC tags, which in practice populated almost no tracks, so it was carrying no value. Existing databases have the column dropped on first run (SQLite >= 3.35).
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