This repository was archived by the owner on Jan 23, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjquery.simpleLastFM-1.0.min.js
14 lines (13 loc) · 4.87 KB
/
jquery.simpleLastFM-1.0.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
* simpleLastFM
*
* A simple jQuery plugin to display what you've been
* listening and scrobbling to Last.fm including
* recent tracks, top albums, weekly charts and plenty more.
*
* Developed by James Fleeting <hello@jamesfleeting.com>
* Another project from monkeeCreate <http://monkeecreate.com>
*
* Version 1.0 - Last updated: June 08 2011
*/
(function($){$.extend({simpleLastFM:function(i){var i=$.extend({apikey:'',username:'',method:'getRecentTracks',period:'overall',limit:9,success:function(a){},error:function(a){}},i);if(i.apikey==''){i.error("No API Key was found.");return false}if(i.username==''){i.error("No username was provided.");return false}var j='http://ws.audioscrobbler.com/2.0/?method=user.'+i.method+'&user='+i.username+'&limit='+i.limit+'&period='+i.period+'&api_key='+i.apikey+'&format=json&callback=?';$.getJSON(j,function(b){if(b!=null&&b!=''){if(b.error){i.error('<strong>Error '+b.error+'</strong>: '+b.message);return false}else if(i.method=="getRecentTracks"){var c=[];$(b.recenttracks.track).each(function(){var a={artist:{name:this.artist['#text'],mbid:this.artist.mbid},name:this.name,link:this.url,album:{name:this.album['#text'],mbid:this.album.mbid},image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']},streamable:this.streamable}c[c.length]=a});var b=c}else if(i.method=="getTopAlbums"){var d=[];$(b.topalbums.album).each(function(){var a={name:this.name,mbid:this.mbid,playcount:this.playcount,link:this.url,artist:{name:this.artist.name,mbid:this.artist.mbid,link:this.artist.url},image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']}}d[d.length]=a});var b=d}else if(i.method=="getTopArtists"){var e=[];$(b.topartists.artist).each(function(){var a={name:this.name,mbid:this.mbid,playcount:this.playcount,link:this.url,streamable:this.streamable,image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']}}e[e.length]=a});var b=e}else if(i.method=="getTopTracks"){var c=[];$(b.toptracks.track).each(function(){var a={name:this.name,duration:this.duration,mbid:this.mbid,playcount:this.playcount,link:this.url,streamable:this.streamable['#text'],artist:{name:this.artist.name,mbid:this.artist.mbid,link:this.artist.url},image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']}}c[c.length]=a});var b=c}else if(i.method=="getLovedTracks"){var c=[];$(b.lovedtracks.track).each(function(){var a={name:this.name,mbid:this.mbid,date:this.date['#text'],link:this.url,streamable:this.streamable['#text'],artist:{name:this.artist.name,mbid:this.artist.mbid,link:this.artist.url},image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']}}c[c.length]=a});var b=c}else if(i.method=="getWeeklyAlbumChart"){var d=[];$(b.weeklyalbumchart.album).each(function(){var a={name:this.name,mbid:this.mbid,playcount:this.playcount,link:this.url,artist:{name:this.artist['#text'],mbid:this.artist.mbid,}}d[d.length]=a});var b=d}else if(i.method=="getWeeklyArtistChart"){var e=[];$(b.weeklyartistchart.artist).each(function(){var a={name:this.name,mbid:this.mbid,playcount:this.playcount,link:this.url}e[e.length]=a});var b=e}else if(i.method=="getWeeklyTrackChart"){var c=[];$(b.weeklytrackchart.track).each(function(){var a={name:this.name,mbid:this.mbid,playcount:this.playcount,link:this.url,artist:{name:this.artist['#text'],mbid:this.artist.mbid,},image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text']}}c[c.length]=track});var b=c}else if(i.method=="getTopTags"){var f=[];$(b.toptags.tag).each(function(){var a={name:this.name,count:this.count,link:this.url}f[f.length]=a});var b=f}else if(i.method=="getPlaylists"){var g=[];$(b.playlists.playlist).each(function(){var a={id:this.id,name:this.title,description:this.description,date:this.date,size:this.size,duration:this.duration,streamable:this.streamable,creatorLink:this.creator,link:this.url,image:{small:this.image[0]['#text'],medium:this.image[1]['#text'],large:this.image[2]['#text'],extralarge:this.image[3]['#text']}}g[g.length]=a})var b=g}else if(i.method=="getInfo"){var h={username:b.user.name,name:b.user.realname,image:{small:b.user.image[0]['#text'],medium:b.user.image[1]['#text'],large:b.user.image[2]['#text'],extralarge:b.user.image[3]['#text']},link:b.user.url,id:b.user.id,country:b.user.country,age:b.user.age,gender:b.user.gender,subscriber:b.user.subscriber,playcount:b.user.playcount,playlists:b.user.playlists,registered:{time:b.user.registered['#text'],unixtime:b.user.registered.unixtime}}var b=h}else{i.error("There was an error. Please try again.");return false}i.success(b)}else{i.error("There was an error. Please try again.")}});return this}})})(jQuery);