Giter Site home page Giter Site logo

gooify's Introduction

Gooify

Gooify is a simple program that finds all of the music in your Google Play Music library and adds it to your Spotify library. It has two options: to copy your entire library to Spotify or to copy all playlists to Spotify.

Requirements

  • Must have python 3 installed along with pip
  • Must have installed gmusicapi (a python package for interfacing with Google Play Music)

pip install gmusicapi

  • Must have installed spotipy (a python package for interfacing with Spotify)

pip install spotipy

Usage

  1. Install required components
  2. cd to the folder with the repository
  3. Run main.py using Python 3
  4. Enter your credentials for Spotify and Google Play Music. Browser windows will open to verify your credentials if it is your first time using the program.
  5. Follow the instructions to either copy your entire library or copy all your playlists. You can opt to copy only songs after a certain index if some were previously copied.

The program is slow and does not support multi-threading due to Spotify's limitations on the developer API which do not allow fast simultaneous queries.

Limitations

  • Some songs cannot be found on Spotify. A number of measures have been taken to minimize this (shortening the song/artist name during search, searching without the album name, etc.). Unfortunately, this does not cover all possibilities and it also slows down the application.
  • Karaoke versions are added instead of the actual ones sometimes.
  • Playlist transfer does not support songs that were uploaded to Google Play Music, since these songs do not have their track information visible to the API.
  • Spotify times out after an hour.
  • If songs already existed in a playlist, then the program will add to it (potentially adding duplicates).

Debugging

  • If there were a lot of missed tracks, you can find them in the text file called "error-log.txt", which will be visible after exiting python.
  • If the program crashed in the middle of performing its action, you can restart at that track number or playlist. Simply restart the application and append the index to start work. For instance, copy all 699 starts at the 700th song, and copy playlists 2 starts at the 3rd playlist (index 2, because it is 0-indexed).

gooify's People

Contributors

gzinck avatar

Stargazers

 avatar Tomi Ruusala avatar  avatar Cody avatar

Watchers

James Cloos avatar

Forkers

mcfedr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.