Coder Social home page Coder Social logo

musicmeta's Introduction

๐ŸŽผ Music Meta Fetcher

This is a gripe of mine, the ability to extract my favorites out of music services. Useful both as a record of my habits, that should remain property of myself and not the music service I rent music from, and also for pushing back the favorites to another music service when switching.

Current status

I am recently moving from Deezer to YouTube Music / Google Play Music, so I needed a way to extract all of my favorites out of Deezer to re-profile myself on the other service.

At the moment, dumping all data from Deezer to a JSON file works.

Usage

git clone https://github.com/vjt/musicmeta
bundle
ruby deezer.rb -h

And read help. To read from Deezer, you will need to create a new application and pass the app id and secret. If you have internet presence on your domain, then define that domain in the app, and pass the same domain to the -d option.

For instance, my app is configured on the sindro.me domain, and I pass https://sindro.me/oauth to the -d option. There is nothing listening on /oauth, but Deezer will redirect you to /oauth?code=foobar, and you need only to pass that authorization code to the Ruby script when asked.

Then the oauth token and expiration time will be printed, that you can re-use in future invocations using the -t and -e options.

Future plans

  • Define an intermediate representation
  • Implement a write adapter to Google Play Music
  • Convert the Deezer bare-bone code to a read-only adapter for Deezer
  • Await that somebody will implement this for Spotify ;-)

musicmeta's People

Contributors

vjt avatar

Watchers

 avatar James Cloos avatar  avatar

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.