foo_gdrive_stream ~ Google Drive Streaming


foobar2000 v2 x64 component for exposing a configured Google Drive folder as a playlist/feed item, similar to source components such as YouTube Source.

Playback prioritizes stability: the component downloads a selected Drive file to a local cache on first playback, then delegates decoding to foobar2000’s normal input components using the cached local file.

Features:

  • Google OAuth desktop flow with system browser, localhost redirect, and PKCE.
  • OAuth token saved under the foobar2000 profile and protected with Windows DPAPI when available.
  • Preferences page for OAuth client JSON, Drive folder ID/URL, cache directory, cache size limit, and saved token removal.
  • Recursive file listing from Google Drive files.list, limited to downloadable audio-looking blob files.
  • Playlist insertion using gdrive://<fileId>/<encoded filename>.
  • Playlist/feed track support using gdrive://folder/<folderId>/<encoded name>.
  • File menu integration under File > Google Drive Stream, including folder URL/ID loading into a new playlist.
  • Front cover artwork support from image files in the same Drive folder, preferring names such as cover, folder, front, album, or artwork.
  • Artwork inheritance for nested folders, Album/cover.jpg can apply to tracks under Album/Disc 1.
  • Context menu expansion of a selected folder feed into its current Drive audio files.
  • Context menu refresh that replaces the already-expanded gdrive:// file tracks immediately after the folder feed.
  • First-play cache download through Drive files.get?alt=media.

github.com/shirafukayayoi/foo_gdrive_stream

Comments welcome