-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Requested Feature
Feature Request: Smart Playlist Sync
Description
Add functionality to download only new or modified tracks from a playlist since the last download, rather than re-downloading the entire playlist.
Problem
Currently, when updating a local copy of a playlist, users must either:
- Re-download the entire playlist (wasting time and bandwidth)
- Manually track which tracks are new (time-consuming and error-prone)
Possible implementation
Proposed Solution
-
Track Playlist State:
- Store a checksum or timestamp of the playlist's current state
- Save this information in a local database or metadata file
-
Incremental Downloads:
- When downloading a playlist, first check its current state against the stored state
- Only download tracks that are new or have been modified since the last download
-
CLI Options:
# Basic usage (automatically detects changes) spotdl sync [https://open.spotify.com/playlist/](https://open.spotify.com/playlist/)... # Force full re-download spotdl sync --force [https://open.spotify.com/playlist/](https://open.spotify.com/playlist/)...
The Smart Playlist Sync feature tracks changes in Spotify playlists by maintaining a local state file with playlist hashes. When syncing, it compares the current playlist state with the stored hash, downloading only new or modified tracks to save bandwidth and time. The implementation includes a new 'spotdl sync' command with options for custom output formats and force updates, while ensuring efficient state management and error handling. This feature is particularly useful for frequently updated or collaborative playlists, especially for users with limited bandwidth.