Skip to content

Instantly share code, notes, and snippets.

@cwholt
Created June 18, 2011 05:14
Show Gist options
  • Save cwholt/1032827 to your computer and use it in GitHub Desktop.
Save cwholt/1032827 to your computer and use it in GitHub Desktop.
turntable.fm download current playing song (adds to mouseover "Add song to:")
javascript:var cwh;for(i in turntable)cwh||(cwh=i);$('#songboard_add').append($('<div>',{'class':'btn disk'}).css({'background-image':'url(http://s3.firstrule.net/cwh/cwh_ttfm_disk_dark.png)'}).click(function(x){window.open(location.protocol+"//"+location.host+"/getfile/?roomid="+turntable[cwh]['roomId']+"&rand="+Math.random()+"&fileid="+turntable[cwh]['currentSong']['_id']+"&downloadKey="+$.sha1(turntable[cwh]['currentSong']['_id']+turntable[cwh]['roomId']))}))
@bberman
Copy link

bberman commented Jun 28, 2011

did this stop working? Gettin roomId undefined

@cwholt
Copy link
Author

cwholt commented Jun 28, 2011

yup. they obfuscated it a bit, gimme a minute.

@cwholt
Copy link
Author

cwholt commented Jun 28, 2011

it looks like they might change the name of the variable (not sure if this is an hourly generation or what), but it seems to be consistent across sessions.

i updated the code now.. should work. (no guarantee!)

@bberman
Copy link

bberman commented Jun 28, 2011

Thanks!

@markgmilner
Copy link

sorry for the noob comment, but how would I go about using this?

@cwholt
Copy link
Author

cwholt commented Jul 7, 2011

it's javascript. you can copy the code and save it as a bookmark, then click the bookmark when in a room on turntable. when you mouseover the playing song you should see a new disk icon in the "Add song to:". click the floppy disk and it will open a direct link to the song playing.

@akivab
Copy link

akivab commented Aug 6, 2011

dude, all you need is rand and roomid, other stuff there is to obfuscate.

@cwholt
Copy link
Author

cwholt commented Aug 9, 2011

akivab, i'm simply duplicating what's in their code. whether or not they use the query strings "rand" -- which is most likely for cache busting -- or "downloadKey" now or plan on implementing additional security in the future on the backend is beyond my scope, so i thought it best to leave them in.

@akivab
Copy link

akivab commented Apr 12, 2012

i think this is broken now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment