Make music sharing better. https://combine.fm
Find a file
2016-01-09 12:35:55 +00:00
chrome Add embedded sharing to Google Play Music from Chrome ext. 2015-12-01 10:57:56 +00:00
config Update for Babel 6 changes 2015-11-22 12:37:09 +00:00
lib Update service images for retina, remove rdio :( 2016-01-09 12:24:44 +00:00
public Update service images for retina, remove rdio :( 2016-01-09 12:24:44 +00:00
routes Restore the ability to match using share urls 2015-11-30 12:42:22 +00:00
test David Guetta renamed his dumb album. 2016-01-09 12:27:28 +00:00
views Update service images for retina, remove rdio :( 2016-01-09 12:24:44 +00:00
.babelrc Update for Babel 6 changes 2015-11-22 12:37:09 +00:00
.dockerignore Update Dockerfile to use alpine linux image 2015-11-22 12:37:58 +00:00
.eslintrc Switch to Koa, more es6 2015-06-14 18:38:57 +01:00
.gitignore Add embedded sharing to Google Play Music from Chrome ext. 2015-12-01 10:57:56 +00:00
app.js Allow CORS 2015-11-29 14:10:53 +00:00
circle.yml Help Circle CI pick the right node version 2015-11-22 12:48:56 +00:00
Dockerfile Update Dockerfile to use alpine linux image 2015-11-22 12:37:58 +00:00
LICENSE Finally finished giant ES6 refactor 2015-08-20 23:25:08 +01:00
package.json Add missing babel dep 2016-01-09 12:35:55 +00:00
Procfile Finally finished giant ES6 refactor 2015-08-20 23:25:08 +01:00
README.md Update config-related docs 2015-08-20 23:31:56 +01:00

#match.audio Circle CI

Make sharing from music services better. We match links from Rdio, Spotify, Deezer, Google Music and iTunes and give you back a link with all of them.

Supported Services

  • Spotify
  • iTunes
  • Deezer
  • Google Play Music (requires GOOGLE_EMAIL and GOOGLE_PASSWORD)
  • Rdio (requires RDIO_CLIENT_ID and RDIO_CLIENT_SECRET)
  • Xbox Music (requires XBOX_CLIENT_ID and XBOX_CLIENT_SECRET)
  • Youtube (requires YOUTUBE_KEY)

Google doesn't provide a public API for Play Music, hence this GOOGLE_PASSWORD awfulness. The account also needs to be a Google Play Music All Access subscriber and to have played at least one track on a mobile device. Yeah.

It doesn't parse Youtube urls yet, only finds matches on Youtube. The metadata we get from Youtube around music videos is poor and will require more work than the others.

Support for Amazon Music is in a branch but the library I used is poor and needs either rewriting or replacing to support Amazon urls and not just finding matches on Amazon.

If you don't provide credentials, it will simply disable support for that service. Spotify, Deezer and iTunes don't need any auth. The test suite will fail if you don't provide credentials for all services, but individual tests will pass otherwise.

Getting Started

Install node and mongodb if you don't already have them. Then npm install and run the app with npm start or tests with npm test.

Contributing

Bug reports and feature requests welcome. If you want to contribute code, that is awesome but please issue pull requests early for discussion.

So there's no surprises for contributors later, I plan on using referral tags wherever it makes sense. Right now that would apply to outgoing links for Amazon, iTunes, Rdio and Spotify. The referral tags themselves will not be baked into the code, just support for using them.

Licence

The code is MIT licenced, the brand is not. This applies to the logo, name and magenta colour scheme. I'll probably pull the branding out of the app itself at some point to make that distinction more clear.