Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add Spotify playlist import functionality #340

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

harvey0100
Copy link

  • Add spotify_client_id and spotify_client_secret config options
  • Implement spotify command to import playlists from Spotify to TIDAL
  • Add pagination support to fetch all tracks from large Spotify playlists
  • Show helpful configuration instructions if credentials missing
  • Add spotipy dependency for Spotify API access
  • Improve progress display with single progress bar for all downloads
  • Skip printing individual track progress messages during spotify download
  • Show summary of tracks found/not found on TIDAL

The spotify command allows importing Spotify playlists by searching for
matching tracks on TIDAL. Requires configuring Spotify API credentials:

tidal-dl-ng cfg spotify_client_id YOUR_CLIENT_ID
tidal-dl-ng cfg spotify_client_secret YOUR_CLIENT_SECRET

Usage: tidal-dl-ng spotify "spotify-playlist-url"
Signed-off-by: Harvey Lynden

@exislow
Copy link
Owner

exislow commented Jan 17, 2025

Thanks a lot for this PR. I have used https://www.tunemymusic.com/de/transfer/spotify-to-tidal before to save on this effort. But I guess this feature is nice to have implemented directly into this app. I will do quick review soon and give you some feedback.

@flesnuk
Copy link
Contributor

flesnuk commented Feb 19, 2025

Nice PR!
Could you improve the track import by matching by ISRC tag first? And then fallback to the text search if there isn't match.
ISRC allows for an exact matching between services and in most cases it would work and remove ambiguity.

@exislow
Copy link
Owner

exislow commented Feb 28, 2025

@flesnuk: Thank you for this suggestion. I would also prefer this way.

@harvey0100: Is it possible for you to refactor your PR?

There is also some explanation in the readme missing. Especially how does the user obtains the client id and secret.

Copy link
Owner

@exislow exislow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite a nice idea with a lot of potential. If you think it is worth it instead of using https://www.tunemymusic.com/de/transfer/tidal-to-spotify or something else like this, I would love to see you addressing our comments. Thanks, mate!

@harvey0100 harvey0100 force-pushed the spotify branch 2 times, most recently from c91be18 to 1dde9ee Compare February 28, 2025 13:16
 - Add spotify_client_id and spotify_client_secret config options
 - Implement spotify command to import playlists from Spotify to TIDAL
 - Add pagination support to fetch all tracks from large Spotify playlists
 - Show helpful configuration instructions if credentials missing
 - Add spotipy dependency for Spotify API access
 - Improve progress display with single progress bar for all downloads
 - Skip printing individual track progress messages during spotify download
 - Show summary of tracks found/not found on TIDAL

 The spotify command allows importing Spotify playlists by searching for
 matching tracks on TIDAL. Requires configuring Spotify API credentials:

 tidal-dl-ng cfg spotify_client_id YOUR_CLIENT_ID
 tidal-dl-ng cfg spotify_client_secret YOUR_CLIENT_SECRET

 Usage: tidal-dl-ng spotify "spotify-playlist-url"
 Signed-off-by: Harvey Lynden
@harvey0100
Copy link
Author

Hi @exislow i resolved all your comments, also have added album and track options for download also.
Please let me know what you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants