GithubHelp home page GithubHelp logo

polytunes's Introduction

Polytunes

Polytunes is a tool that allows you to liberate your music from third party services by enabling you to freely move your music from services.

Support

The following services are support by polytunes.

Service Import From Import To
Apple Music
Spotify

Usage

Polytunes is a command line tool the runs on top of Node.js v6.0.0 and above:

$ npm install -g polytunes

To move you library from Apple Music to Spotify, grab a tea and run:

$ polytunes --from apple --to spotify
[*] Collecting libraries..
[*] Importing from your Apple library to your Spotify library.
[*] Importing Apple playlist: 'Music'
  -> Track 'Sometimes I Feel So Deserted' by The Chemical Brothers imported to Spotify Library.
  -> Track 'The Hills' by The Weeknd imported to Spotify Library.
  -> Track 'Dip' by Danny Brown imported to Spotify Library.
  -! No match for track on 'Drive Me Crazy (feat. Vic Mensa)' by KAYTRANADA from Apple Library playlist on Spotify.

The above command requires you to configure the drivers to talk to the services, see Configuring Drivers.

polytunes's People

Contributors

adriancooney avatar

Stargazers

 avatar Camille Louédoc-Eyriès avatar Vihan avatar Ross McKinley avatar Rex Ijiekhuamen  avatar Nikita Kurpas avatar Fredrik Lundhag avatar Lucas Riutzel avatar Yukai Huang avatar Hanju Jo avatar Andrew avatar  avatar Drew Kirkman avatar Saravanan avatar Nick Cacace avatar Robin Diddams avatar Maksim Baranov avatar Jason McIntosh avatar  avatar Bion Johnson avatar Ivan Storck avatar  avatar Adam avatar anilprasad avatar Hugo avatar Josh Parnham avatar Josiah Wiebe avatar Taylor Lapeyre avatar Tori Pugh avatar Ali Torbati avatar Calvin Reibenspieß avatar sandriaas avatar Louis Roy avatar Alex Bignell avatar Daniel Ma avatar Phillip Gruneich avatar Andrei Glingeanu avatar Robert James Gabriel avatar

Watchers

James Cloos avatar Andrei Glingeanu avatar Calvin Reibenspieß avatar  avatar

Forkers

daneden abahnj

polytunes's Issues

Duplication

Thanks for this useful utility!

One thing I noticed is that when I run it, it appears to create two playlists in my library

% polytunes import --from apple --to spotify --apple-library AppleLibrary.xml
[*] Collecting libraries..
[*] Collecting libraries..
[*] Importing from your Apple library to your Spotify library.
[*] Importing Apple playlist: 'Library'
[*] Importing from your Apple library to your Spotify library.
[*] Importing Apple playlist: 'Library'
  -! No match for track on 'Winter Is Coming' by Game of Thrones from Apple Library playlist on Spotify.
  -! No match for track on 'Winter Is Coming' by Game of Thrones from Apple Library playlist on Spotify.
  -+ Track 'Goodbye Desolate Railyard' by Silver Mt. Zion already exists in Spotify Library playlist, ignoring.
  -+ Track 'Goodbye Desolate Railyard' by Silver Mt. Zion already exists in Spotify Library playlist, ignoring.
  -! No match for track on 'Let's Get Out of the Romance' by Mount Eerie from Apple Library playlist on Spotify.
  -! No match for track on 'Let's Get Out of the Romance' by Mount Eerie from Apple Library playlist on Spotify.
...

Am I doing something wrong?

[!] Error: Service Unavailable

Hello, @adriancooney,

Firstly, thanks for the effort, that's a lifesaver. I reached this through your Medium post and I got all working, except that it doesn't get the whole job done.

When I run
polytunes import --from apple --to spotify --apple-library Library.xml
It starts doing the job but at some random point I reach
[!] Error: Service Unavailable
I have no idea how to proceed, so I just tried to run again, and after a few attempts, I always reach this error, always at a different point. I managed to transfer about 2300 songs.

I'm an absolute beginner, so I've no idea what to do now, and if there's anything to be done.

EDIT:
On one final attempt I got '[!] Error: Bad Gateway'.

SyntaxErrors

Using version 0.1.0, Bash (WSL), and node v4.2.6 I get the following errors when running the following commands.

`$ polytunes library -d spotify
/usr/local/lib/node_modules/polytunes/src/drivers/Apple.js:9
class AppleLibrary extends Library {
^^^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object. (/usr/local/lib/node_modules/polytunes/src/drivers/index.js:2:12)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
$ polytunes import --from apple --to spotify --apple-library ./Library.xml
/usr/local/lib/node_modules/polytunes/bin/polytunes-import:30
]).then(([fromLibrary, toLibrary]) => {
^

SyntaxError: Unexpected token [
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3`

Will try upgrading node and seeing what happens

[!] Error: Not Found

Hello, @adriancooney;

Thanks for the initiative and the effort doing this. I followed your guide from Medium, yet I'm failing in the last step:

When I run: polytunes import --from apple --to spotify --apple-library ~/Desktop/Library.xml�, I get:

[*] Collecting libraries..
[*] Importing from your Apple library to your Spotify library.
[*] Importing Apple playlist: 'Library'
[!] Error: Not Found

I have no idea how to proceed now.

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.