DrivePlayer

A GTK3 desktop music player that streams audio files stored in Google Drive.

Features

Requirements

System packages

sudo apt-get install build-essential pkg-config libssl-dev mpv \
    libgtk-3-dev libglib2.0-dev libgirepository1.0-dev gir1.2-gtk-3.0

CPAN dependencies

cpanm --installdeps .

Or install everything in one step:

make install

Setup

1. Create Google Cloud credentials

  1. Go to Google Cloud Console and create a project
  2. Enable the Google Drive API: APIs & Services → Enable APIs → search "Drive API"
  3. Create OAuth credentials: APIs & Services → Credentials → Create Credentials → OAuth client ID → Desktop app
  4. Note the Client ID and Client Secret

2. Configure the application

Launch the app, open File → Settings, and paste the Client ID and Client Secret. Click Save.

The config file is written to ~/.config/drive_player/config.yaml.

3. Authorise access to Google Drive

google_restapi_oauth_token_creator

Follow the prompts. The token is stored at ~/.config/drive_player/token.dat by default.

4. Add music folders

Open File → Manage Folders and add the Google Drive folder ID (the last path component of the folder's Drive URL) and a display name.

5. Sync

Click Sync in the toolbar or choose Library → Sync to scan your Drive folders and populate the library.

Cross-device sync via Google Sheets

DrivePlayer can store your library metadata in a Google Spreadsheet so it survives across devices or a fresh install:

Files

| Path | Description | |------|-------------| | ~/.config/drive_player/config.yaml | OAuth credentials, log level, folder list | | ~/.config/drive_player/token.dat | OAuth2 token cache | | ~/.local/share/drive_player/music.db | SQLite track library | | ~/.local/share/drive_player/drive_player.log | Application log |

License

MIT — see LICENSE