shortwave 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +10 -0
- data/.gitmodules +3 -0
- data/LICENSE +20 -0
- data/README.rdoc +74 -0
- data/Rakefile +133 -0
- data/VERSION +1 -0
- data/lib/shortwave.rb +12 -0
- data/lib/shortwave/authentication.rb +107 -0
- data/lib/shortwave/facade.rb +3 -0
- data/lib/shortwave/facade/build/facade_builder.rb +199 -0
- data/lib/shortwave/facade/build/facade_template.erb +17 -0
- data/lib/shortwave/facade/lastfm.rb +878 -0
- data/lib/shortwave/facade/remote.rb +86 -0
- data/lib/shortwave/model/album.rb +33 -0
- data/lib/shortwave/model/artist.rb +62 -0
- data/lib/shortwave/model/base_model.rb +112 -0
- data/lib/shortwave/model/chart_dates.rb +15 -0
- data/lib/shortwave/model/comparison.rb +15 -0
- data/lib/shortwave/model/event.rb +55 -0
- data/lib/shortwave/model/group.rb +26 -0
- data/lib/shortwave/model/location.rb +45 -0
- data/lib/shortwave/model/playlist.rb +36 -0
- data/lib/shortwave/model/shout.rb +21 -0
- data/lib/shortwave/model/tag.rb +47 -0
- data/lib/shortwave/model/track.rb +71 -0
- data/lib/shortwave/model/user.rb +70 -0
- data/lib/shortwave/model/venue.rb +37 -0
- data/lib/shortwave/model/weekly_charts.rb +31 -0
- data/lib/shortwave/providers.rb +161 -0
- data/shortwave.gemspec +178 -0
- data/test/authentication_test.rb +64 -0
- data/test/build/build_test.rb +25 -0
- data/test/build/data/intro.yml +2 -0
- data/test/build/data/screens/album_addTags.html +1238 -0
- data/test/build/data/screens/intro_truncated.html +426 -0
- data/test/build/data/screens/tasteometer_compare.html +1274 -0
- data/test/build/data/screens/user_getLovedTracks.html +1278 -0
- data/test/build/data/screens/venue_search.html +1261 -0
- data/test/build/facade_builder_test.rb +23 -0
- data/test/build/parameter_test.rb +43 -0
- data/test/build/remote_method_test.rb +47 -0
- data/test/build/ruby_class_test.rb +12 -0
- data/test/build/ruby_method_test.rb +137 -0
- data/test/helper.rb +35 -0
- data/test/model/album_test.rb +62 -0
- data/test/model/artist_test.rb +103 -0
- data/test/model/chart_dates_test.rb +11 -0
- data/test/model/comparison_test.rb +18 -0
- data/test/model/data/album_info.xml +38 -0
- data/test/model/data/album_search.xml +210 -0
- data/test/model/data/artist_info.xml +58 -0
- data/test/model/data/artist_search.xml +109 -0
- data/test/model/data/artist_shouts.xml +546 -0
- data/test/model/data/artist_top_fans.xml +405 -0
- data/test/model/data/event_info.xml +47 -0
- data/test/model/data/group_members.xml +242 -0
- data/test/model/data/group_weekly_album_chart.xml +1754 -0
- data/test/model/data/group_weekly_artist_chart.xml +604 -0
- data/test/model/data/group_weekly_track_chart.xml +1005 -0
- data/test/model/data/location_events.xml +383 -0
- data/test/model/data/ok.xml +2 -0
- data/test/model/data/playlist_fetch.xml +227 -0
- data/test/model/data/tag_search.xml +110 -0
- data/test/model/data/tag_similar.xml +254 -0
- data/test/model/data/tag_top_albums.xml +805 -0
- data/test/model/data/tag_top_artists.xml +605 -0
- data/test/model/data/tag_top_tags.xml +1254 -0
- data/test/model/data/tag_top_tracks.xml +843 -0
- data/test/model/data/tag_weekly_chart_list.xml +57 -0
- data/test/model/data/tasteometer_compare.xml +54 -0
- data/test/model/data/track_info.xml +53 -0
- data/test/model/data/track_search.xml +195 -0
- data/test/model/data/user_chartlist.xml +90 -0
- data/test/model/data/user_info.xml +16 -0
- data/test/model/data/user_neighbours.xml +484 -0
- data/test/model/data/user_playlists.xml +17 -0
- data/test/model/data/user_recent_tracks.xml +124 -0
- data/test/model/data/user_recommended_artists.xml +454 -0
- data/test/model/data/user_shouts.xml +9 -0
- data/test/model/data/user_weekly_artist_chart.xml +478 -0
- data/test/model/data/venue_events.xml +556 -0
- data/test/model/data/venue_past_events.xml +1778 -0
- data/test/model/data/venue_search.xml +355 -0
- data/test/model/event_test.rb +63 -0
- data/test/model/group_test.rb +45 -0
- data/test/model/location_test.rb +25 -0
- data/test/model/playlist_test.rb +51 -0
- data/test/model/shout_test.rb +23 -0
- data/test/model/tag_test.rb +39 -0
- data/test/model/track_test.rb +67 -0
- data/test/model/user_test.rb +125 -0
- data/test/model/venue_test.rb +60 -0
- data/test/provider/album_provider_test.rb +26 -0
- data/test/provider/artist_provider_test.rb +25 -0
- data/test/provider/group_provider_test.rb +9 -0
- data/test/provider/location_provider_test.rb +9 -0
- data/test/provider/playlist_provider_test.rb +12 -0
- data/test/provider/tag_provider_test.rb +24 -0
- data/test/provider/track_provider_test.rb +26 -0
- data/test/provider/user_provider_test.rb +11 -0
- data/test/provider/venue_provider_test.rb +15 -0
- data/test/provider_test_helper.rb +27 -0
- data/test/remote_test.rb +26 -0
- metadata +209 -0
@@ -0,0 +1,426 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
3
|
+
<head profile="http://purl.org/uF/2008/03/">
|
4
|
+
<title>Test fixture page for Last.fm</title>
|
5
|
+
</head>
|
6
|
+
|
7
|
+
|
8
|
+
<body class="a-intro">
|
9
|
+
<div id="page" class=" ">
|
10
|
+
<div class="fixed full">
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
<div id="header" class="clearit">
|
22
|
+
<div id="headerWrapper">
|
23
|
+
<h1><a href="/home" id="lastfmLogo">
|
24
|
+
<img src="http://cdn.last.fm/flatness/logo.6.png" width="103" height="50" alt="Last.fm" />
|
25
|
+
<img src="http://cdn.last.fm/flatness/logo_black.3.png" width="103" height="50" style="display: none;" alt="Last.fm" />
|
26
|
+
<span>Last.fm</span>
|
27
|
+
</a></h1>
|
28
|
+
<ul id="primaryNav" class="clearit">
|
29
|
+
<li id="musicNav">
|
30
|
+
<a href="/music">Music</a>
|
31
|
+
</li>
|
32
|
+
<li id="videosNav">
|
33
|
+
<a href="/videos">Videos</a>
|
34
|
+
</li>
|
35
|
+
<li id="listenNav">
|
36
|
+
<a href="/listen">Radio</a>
|
37
|
+
</li>
|
38
|
+
<li id="eventsNav">
|
39
|
+
<a href="/events">Events</a>
|
40
|
+
</li>
|
41
|
+
<li id="chartsNav">
|
42
|
+
<a href="/charts">Charts</a>
|
43
|
+
</li>
|
44
|
+
<li>
|
45
|
+
<form id="siteSearch" method="get" action="/search">
|
46
|
+
|
47
|
+
<select name="m" id="siteSearchSelect">
|
48
|
+
<option value="all">Music</option>
|
49
|
+
<option value="event">Event</option>
|
50
|
+
<option value="tag">Tag</option>
|
51
|
+
<option value="user">User</option>
|
52
|
+
<option value="group">Group</option>
|
53
|
+
<option value="label">Label</option>
|
54
|
+
</select>
|
55
|
+
<input id="siteSearchBox" placeholder="Search" type="text" autosave="fm.last.searchhistory" results="5" name="q" size="16" />
|
56
|
+
|
57
|
+
<input class="submit" type="submit" value="" title="Go" id="siteSearchSubmit" />
|
58
|
+
</form>
|
59
|
+
</li>
|
60
|
+
</ul>
|
61
|
+
|
62
|
+
<div id="idBadger">
|
63
|
+
<a href="/user/knaveofdiamonds" id="idBadgerUser" title="Roland Swingler, United Kingdom"><span class="userImage"><img width="16" height="16" alt="" src="http://userserve-ak.last.fm/serve/34s/10636291.jpg" /></span> <span>knaveofdiamonds</span></a><a href="/user/knaveofdiamonds" id="idBadgerDropper" title="Roland Swingler, United Kingdom">▼</a>
|
64
|
+
<ul id="idBadgerDropDown">
|
65
|
+
<li><a href="/home">Home</a></li>
|
66
|
+
<li><a href="/user/knaveofdiamonds" title="Roland Swingler, United Kingdom">Profile</a></li>
|
67
|
+
<li><a href="/home/recs">Recommended</a></li>
|
68
|
+
<li><a href="/user/knaveofdiamonds/library" title="">Library</a></li>
|
69
|
+
<li><a href="/user/knaveofdiamonds/events" title="">Events</a></li>
|
70
|
+
<li><a href="/settings">Settings</a></li>
|
71
|
+
</ul>
|
72
|
+
</div>
|
73
|
+
<div id="headLinks">
|
74
|
+
<p>
|
75
|
+
<a href="/login/logout">Log out</a> | <a href="/inbox">Inbox</a> |
|
76
|
+
<a href="#" title="Switch Colour Style" id="colourToggle">Paint it Black</a> |
|
77
|
+
<script>
|
78
|
+
$('colourToggle').observe('click', function (e) {
|
79
|
+
e.stop();
|
80
|
+
LFM.Display.colourToggle(e.element(), LFM.String.toRedStr, LFM.String.toBlackStr);
|
81
|
+
});
|
82
|
+
</script>
|
83
|
+
<a href="/help">Help</a>
|
84
|
+
|
|
85
|
+
<img src="http://cdn.last.fm/depth/flags/mini/globe.gif" id="langToggleFlag" alt="Change language" />
|
86
|
+
<a href="/api/intro?change=language" title="Click here to change your language" rel="nofollow" id="headerLangToggle">English</a>
|
87
|
+
|
88
|
+
</p>
|
89
|
+
</div>
|
90
|
+
</div><!-- #headerWrapper -->
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<script>
|
94
|
+
LFM.Display.setupHeader(); new LFM.Activityfeed.DeleteListener();
|
95
|
+
</script>
|
96
|
+
<!-- Adserving start -->
|
97
|
+
|
98
|
+
<div id="LastAd_Skin" class="LastAd">
|
99
|
+
<div align="center">
|
100
|
+
<script type="text/javascript">
|
101
|
+
if(typeof writeSkin == 'function') writeSkin();
|
102
|
+
</script>
|
103
|
+
</div>
|
104
|
+
</div>
|
105
|
+
<script>
|
106
|
+
$("LastAd_Skin").hide();
|
107
|
+
</script>
|
108
|
+
<!-- Adserving end --><div id='content'>
|
109
|
+
<div class="fullWidth">
|
110
|
+
<div id="leftcol">
|
111
|
+
<h2>API Doc</h2>
|
112
|
+
|
113
|
+
<ul class="wspanel">
|
114
|
+
<li><a href="/api/intro">Overview</a></li>
|
115
|
+
<li><a href="/api/authentication">User Authentication</a></li>
|
116
|
+
<li><a href="/api/submissions">Submissions</a></li>
|
117
|
+
<li><a href="/api/radio">Radio API</a></li>
|
118
|
+
<li><a href="/api/playlists">Playlists</a></li>
|
119
|
+
<li><a href="/api/downloads">Downloads</a></li>
|
120
|
+
<li><a href="/api/rest">REST requests</a></li>
|
121
|
+
<li><a href="/api/xmlrpc">XML-RPC requests</a></li>
|
122
|
+
</ul>
|
123
|
+
|
124
|
+
<h2>API Methods</h2>
|
125
|
+
<ul class="wspanel">
|
126
|
+
<li class="package"><b>Album</b></li>
|
127
|
+
<ul>
|
128
|
+
<li><a href="/api/show/?service=302">album.addTags</a></li>
|
129
|
+
</ul>
|
130
|
+
<li class="package"><b>Tasteometer</b></li>
|
131
|
+
<ul>
|
132
|
+
<li><a href="/api/show/?service=258">tasteometer.compare</a></li>
|
133
|
+
</ul>
|
134
|
+
<li class="package"><b>User</b></li>
|
135
|
+
<ul>
|
136
|
+
<li><a href="/api/show/?service=329">user.getLovedTracks</a></li>
|
137
|
+
</ul>
|
138
|
+
<li class="package"><b>Venue</b></li>
|
139
|
+
<ul>
|
140
|
+
<li><a href="/api/show/?service=396">venue.search</a></li>
|
141
|
+
</ul>
|
142
|
+
</ul>
|
143
|
+
</div> <div id="main">
|
144
|
+
<div id="wstitle">
|
145
|
+
<h1 class="header"><a href="/api">Last.fm Web Services</a></h1>
|
146
|
+
<a href="/api/intro">API</a> | <a href="/api/feeds">Feeds</a> | <a href="/api/account">Your API Account</a>
|
147
|
+
</div> <h2>Overview</h2>
|
148
|
+
<p>
|
149
|
+
The Last.fm API allows you to call <i>methods</i> that respond in <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> style xml. Individual methods are detailed in the menu on the left.</p>
|
150
|
+
<div class="wsdescription">The API root URL is located at <a href="http://ws.audioscrobbler.com/2.0/">http://ws.audioscrobbler.com/2.0/</a></div>
|
151
|
+
<p>
|
152
|
+
Generally speaking, you will send a <i>method</i> parameter expressed as 'package.method' along with method specific arguments to the root URL. The API supports multiple transport formats but will respond in Last.fm idiom xml by default.
|
153
|
+
</p>
|
154
|
+
<p>
|
155
|
+
Note:
|
156
|
+
<ul class="stations">
|
157
|
+
<li>Please use an identifiable User-Agent header on all requests. Like this you don't risk getting banned and it helps our logging.</li>
|
158
|
+
<li>Use common sense when deciding how many calls to make. For example, if you're making a web application, try not to hit the API on page load. You account may be suspended if your application is continuously making several calls per second. See our <a href="/api/tos">terms of service</a> for more.</li>
|
159
|
+
</ul>
|
160
|
+
</p>
|
161
|
+
<h3>Encoding</h3>
|
162
|
+
Use <a href="http://www.utf-8.com/">UTF-8</a> encoding when sending arguments to API methods.</li>
|
163
|
+
<h3>Request Styles</h3>
|
164
|
+
You can get more information on how to work with <a href="/api/rest">REST requests</a> or <a href="/api/xmlrpc">XML-RPC requests</a> when calling the Last.fm API.
|
165
|
+
<h3>Authentication</h3>
|
166
|
+
The <a href="/api/authentication">authentication protocol</a> allows you to perform actions on user accounts in a manner that is secure for Last.fm users. All write services require authentication.
|
167
|
+
<h3>Submissions</h3>
|
168
|
+
You can use our <a href="/api/submissions">submissions API</a> to submit listening information to Last.fm user profiles (aka 'Scrobbling'). Useful for media players looking to integrate with Last.fm.
|
169
|
+
<h3>Discussion</h3>
|
170
|
+
Join the <a href="http://www.last.fm/group/Last.fm%2520Web%2520Services">Last.fm Web Services</a> group to receive notifications about new Web Services, access to beta API's, provide feedback and discuss development with other developers.
|
171
|
+
</div>
|
172
|
+
</div>
|
173
|
+
</div>
|
174
|
+
|
175
|
+
<div id="LastFooter">
|
176
|
+
|
177
|
+
<div id="footer_ads" style="display: none;" class="clearit">
|
178
|
+
<div class="footer_ad_wrapper">
|
179
|
+
|
180
|
+
<!-- Adserving start -->
|
181
|
+
|
182
|
+
<div id="LastAd_Footer1" class="LastAd">
|
183
|
+
<div align="center">
|
184
|
+
<script type="text/javascript">
|
185
|
+
if ($("footer_ads")) $("footer_ads").show();
|
186
|
+
if(typeof writeFooter1 == 'function') writeFooter1();
|
187
|
+
</script>
|
188
|
+
</div>
|
189
|
+
</div>
|
190
|
+
<script>
|
191
|
+
$("LastAd_Footer1").hide();
|
192
|
+
</script>
|
193
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
194
|
+
|
195
|
+
<div id="LastAd_Footer2" class="LastAd">
|
196
|
+
<div align="center">
|
197
|
+
<script type="text/javascript">
|
198
|
+
if ($("footer_ads")) $("footer_ads").show();
|
199
|
+
if(typeof writeFooter2 == 'function') writeFooter2();
|
200
|
+
</script>
|
201
|
+
</div>
|
202
|
+
</div>
|
203
|
+
<script>
|
204
|
+
$("LastAd_Footer2").hide();
|
205
|
+
</script>
|
206
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
207
|
+
|
208
|
+
<div id="LastAd_Footer3" class="LastAd">
|
209
|
+
<div align="center">
|
210
|
+
<script type="text/javascript">
|
211
|
+
if ($("footer_ads")) $("footer_ads").show();
|
212
|
+
if(typeof writeFooter3 == 'function') writeFooter3();
|
213
|
+
</script>
|
214
|
+
</div>
|
215
|
+
</div>
|
216
|
+
<script>
|
217
|
+
$("LastAd_Footer3").hide();
|
218
|
+
</script>
|
219
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
220
|
+
|
221
|
+
<div id="LastAd_Footer4" class="LastAd last">
|
222
|
+
<div align="center">
|
223
|
+
<script type="text/javascript">
|
224
|
+
if ($("footer_ads")) $("footer_ads").show();
|
225
|
+
if(typeof writeFooter4 == 'function') writeFooter4();
|
226
|
+
</script>
|
227
|
+
</div>
|
228
|
+
</div>
|
229
|
+
<script>
|
230
|
+
$("LastAd_Footer4").hide();
|
231
|
+
</script>
|
232
|
+
<!-- Adserving end -->
|
233
|
+
</div><!-- .footer_ad_wrapper -->
|
234
|
+
</div><!-- #footer_ads -->
|
235
|
+
|
236
|
+
<ul id="footerStuff" class="clearit">
|
237
|
+
<li></li>
|
238
|
+
|
239
|
+
<li><p id="uploadYourMusic">
|
240
|
+
<strong>Do you make music? Upload it!</strong><br /><a href="/uploadmusic?accountType=artist">Artists</a> or <a href="/uploadmusic?accountType=label">Labels</a>
|
241
|
+
</p></li>
|
242
|
+
</ul><!-- #footerStuff -->
|
243
|
+
|
244
|
+
<div id="footer_content">
|
245
|
+
<ul id="footerLinks" class="clearit">
|
246
|
+
<li class="first">
|
247
|
+
<dl>
|
248
|
+
<dt>Learn About Us</dt>
|
249
|
+
<dd><a href="/about/contact">Contact</a></dd>
|
250
|
+
<dd><a href="/about">About Us</a></dd>
|
251
|
+
<dd><a href="/about/team">Team</a></dd>
|
252
|
+
<dd><a href="/about/jobs">Jobs</a></dd>
|
253
|
+
<dd><a href="/resources">Media Kit</a></dd>
|
254
|
+
<dd><a href="/advertise">Advertise</a></dd>
|
255
|
+
</dl>
|
256
|
+
</li>
|
257
|
+
<li>
|
258
|
+
<dl>
|
259
|
+
<dt>Get Help</dt>
|
260
|
+
<dd><a href="/help/faq">FAQ</a></dd>
|
261
|
+
<dd><a href="/forum/21713">Website Support</a></dd>
|
262
|
+
<dd><a href="/forum/34905">Scrobbler Support</a></dd>
|
263
|
+
<dd><a href="/group/Last.fm+for+iPhone+and+iPod+Touch">iPhone Support</a></dd>
|
264
|
+
</dl>
|
265
|
+
</li>
|
266
|
+
|
267
|
+
<li>
|
268
|
+
<dl>
|
269
|
+
<dt>Join In</dt>
|
270
|
+
<dd><a href="/users">Find People</a></dd>
|
271
|
+
<dd><a href="/users/groups">Find Groups</a></dd>
|
272
|
+
<dd><a href="/forum">Forums</a></dd>
|
273
|
+
<dd><a href="/help/guidelines">Community Guidelines</a></dd>
|
274
|
+
<dd><a href="/about/moderators">Moderators</a></dd>
|
275
|
+
<dd><a href="/promotions">Contests & Promotions</a></dd>
|
276
|
+
</dl>
|
277
|
+
</li>
|
278
|
+
<li class="last">
|
279
|
+
<dl>
|
280
|
+
<dt>Do More</dt>
|
281
|
+
<dd><a href="/download">Last.fm Scrobbler</a></dd>
|
282
|
+
<dd><a href="/download#content_ipod">iPod Scrobbler</a></dd>
|
283
|
+
<dd><a href="/download#content_iphone">iPhone App</a></dd>
|
284
|
+
<dd><a href="http://build.last.fm">More Apps</a></dd>
|
285
|
+
<dd><a href="/music/+free-music-downloads">Free Music Downloads</a></dd>
|
286
|
+
<dd><a href="/hardware">Hardware</a></dd>
|
287
|
+
<dd><a href="/widgets">Widgets</a></dd> <dd><a href="/tools/charts">Chart Images</a></dd>
|
288
|
+
<dd><a href="/subscribe">Subscribe</a></dd>
|
289
|
+
<dd><a href="/api">API</a></dd>
|
290
|
+
</dl>
|
291
|
+
</li>
|
292
|
+
</ul><!-- #footerLinks -->
|
293
|
+
|
294
|
+
<div id="justCantGetEnough" class="clearit">
|
295
|
+
<blockquote>“Pimp my Last.fm”</blockquote>
|
296
|
+
<p>
|
297
|
+
<strong>More Last.fm Sites:</strong>
|
298
|
+
<a href="http://blog.last.fm/">Blog</a>
|
299
|
+
| <a href="http://musicmanager.last.fm">Music Manager</a>
|
300
|
+
| <a href="http://build.last.fm">Build</a>
|
301
|
+
| <a href="http://playground.last.fm">Playground</a>
|
302
|
+
| <a href="http://www.last.fm/bestof/2008">Best of 2008</a>
|
303
|
+
</p>
|
304
|
+
</div>
|
305
|
+
|
306
|
+
<div id="legalities">
|
307
|
+
<div id="cbsi_f">
|
308
|
+
<form>
|
309
|
+
<script language="javascript">
|
310
|
+
document.write("<div><label class=\"rb_visit_txt\" for=\"cbsi_footer_menu\">Visit other Sites</label><select name=\"cbsi_footer_menu\" id=\"cbsi_footer_menu\" class=\"rb_visit_sel\"><option value=\"\">Select Site</option><option value=\"http://www.bnet.com\">BNET</option><option value=\"http://www.cbscares.com\">CBS Cares</option><option value=\"http://www.cbssports.com/cbscollegesports/\">CBS College Sports</option><option value=\"http://www.cbsradio.com/streaming/\">CBS Radio</option><option value=\"http://www.cbs.com\">CBS.com</option><option value=\"http://www.cbsnews.com\">CBSNews.com</option><option value=\"http://www.cbssports.com\">CBSSports.com</option><option value=\"http://www.chow.com\">CHOW</option><option value=\"http://www.cnet.com\">CNET</option><option value=\"http://www.cnetcontentsolutions.com\">CNET Content Solutions</option><option value=\"http://www.gamespot.com\">GameSpot</option><option value=\"http://www.cnetnetworks.com/advertise/media-kit/international.html?tag=ft\">International</option><option value=\"http://www.last.fm\">Last.fm</option><option value=\"http://www.maxpreps.com\">MaxPreps</option><option value=\"http://www.metacritic.com\">Metacritic.com</option><option value=\"http://moneywatch.bnet.com\">Moneywatch</option><option value=\"http://www.mp3.com\">MP3.com</option><option value=\"http://www.mysimon.com\">mySimon</option><option value=\"http://www.ncaa.com\">NCAA</option><option value=\"http://www.search.com\">Search.com</option><option value=\"http://www.shopper.com\">Shopper.com</option><option value=\"http://www.sho.com\">Showtime</option><option value=\"http://www.techrepublic.com\">TechRepublic</option><option value=\"http://www.theinsider.com\">The Insider</option><option value=\"http://www.tv.com\">TV.com</option><option value=\"http://www.urbanbaby.com\">UrbanBaby.com</option><option value=\"http://www.zdnet.com\">ZDNet</option></select><input type=\"button\" class=\"rb_visit_go\" value=\"Go\" onClick=\"window.location=document.getElementById('cbsi_footer_menu').options[document.getElementById('cbsi_footer_menu').selectedIndex].value;\" /></div>");
|
311
|
+
</script>
|
312
|
+
</form>
|
313
|
+
<noscript>
|
314
|
+
<a href="http://www.bnet.com">BNET</a> | <a href="http://www.cbscares.com">CBS Cares</a> | <a href="http://www.cbssports.com/cbscollegesports/">CBS College Sports</a> | <a href="http://www.cbsradio.com/streaming/">CBS Radio</a> | <a href="http://www.cbs.com">CBS.com</a> | <a href="http://www.cbsnews.com">CBSNews.com</a> | <a href="http://www.cbssports.com">CBSSports.com</a> | <a href="http://www.chow.com">CHOW</a> | <a href="http://www.cnet.com">CNET</a> | <a href="http://www.cnetcontentsolutions.com">CNET Content Solutions</a> | <a href="http://www.gamespot.com">GameSpot</a> | <a href="http://www.cnetnetworks.com/advertise/media-kit/international.html?tag=ft">International</a> | <a href="http://www.last.fm">Last.fm</a> | <a href="http://www.maxpreps.com">MaxPreps</a> | <a href="http://www.metacritic.com">Metacritic.com</a> | <a href="http://moneywatch.bnet.com">Moneywatch</a> | <a href="http://www.mp3.com">MP3.com</a> | <a href="http://www.mysimon.com">mySimon</a> | <a href="http://www.ncaa.com">NCAA</a> | <a href="http://www.search.com">Search.com</a> | <a href="http://www.shopper.com">Shopper.com</a> | <a href="http://www.sho.com">Showtime</a> | <a href="http://www.techrepublic.com">TechRepublic</a> | <a href="http://www.theinsider.com">The Insider</a> | <a href="http://www.tv.com">TV.com</a> | <a href="http://www.urbanbaby.com">UrbanBaby.com</a> | <a href="http://www.zdnet.com">ZDNet</a>
|
315
|
+
</noscript>
|
316
|
+
<p id="cbsi_f_pop">
|
317
|
+
Popular on CBS sites: <a href='http://www.cnet.com/apple-iphone.html'>iPhone 3G</a> | <a href='http://fantasynews.cbssports.com/fantasyfootball'>Fantasy Football</a> | <a href='http://moneywatch.bnet.com'>Moneywatch</a> | <a href='http://download.cnet.com/windows/antivirus-software/'>Antivirus Software</a> | <a href='http://www.chow.com/recipes'>Recipes</a> | <a href='http://www.gamespot.com/pc/strategy/spore/index.html'>Spore</a><!-- cbth:100 -->
|
318
|
+
</p>
|
319
|
+
</div> <p id="copy">
|
320
|
+
© 2009 Last.fm Ltd. All rights reserved. |
|
321
|
+
<a href="/legal/terms" target="_blank">Terms of Use</a>
|
322
|
+
and <a href="/legal/privacy" target="_blank">Privacy Policy</a> | <span class="date">Updated November 21, 2008</span><br />
|
323
|
+
|
324
|
+
</p>
|
325
|
+
</div><!-- #legalities -->
|
326
|
+
|
327
|
+
</div>
|
328
|
+
</div><!-- #LastFooter -->
|
329
|
+
|
330
|
+
<ul id="langSelector" style="display: none; visibility: hidden;" class="nojs">
|
331
|
+
|
332
|
+
|
333
|
+
<li><a href="http://www.lastfm.de/api/intro?setlang=de" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/de.gif" /> <span>Deutsch</span></a></li>
|
334
|
+
<li><a href="http://www.lastfm.es/api/intro?setlang=es" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/es.gif" /> <span>Español</span></a></li>
|
335
|
+
<li><a href="http://www.lastfm.fr/api/intro?setlang=fr" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/fr.gif" /> <span>Français</span></a></li>
|
336
|
+
<li><a href="http://www.lastfm.it/api/intro?setlang=it" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/it.gif" /> <span>Italiano</span></a></li>
|
337
|
+
<li><a href="http://www.lastfm.jp/api/intro?setlang=jp" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/jp.gif" /> <span>日本語</span></a></li>
|
338
|
+
<li><a href="http://www.lastfm.pl/api/intro?setlang=pl" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/pl.gif" /> <span>Polski</span></a></li>
|
339
|
+
<li><a href="http://www.lastfm.com.br/api/intro?setlang=pt" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/pt.gif" /> <span>Português</span></a></li>
|
340
|
+
<li><a href="http://www.lastfm.ru/api/intro?setlang=ru" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/ru.gif" /> <span>Руccкий</span></a></li>
|
341
|
+
<li><a href="http://www.lastfm.se/api/intro?setlang=sv" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/se.gif" /> <span>Svenska</span></a></li>
|
342
|
+
<li><a href="http://www.lastfm.com.tr/api/intro?setlang=tr" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/tr.gif" /> <span>Türkçe</span></a></li>
|
343
|
+
<li><a href="http://cn.last.fm/api/intro?setlang=zh" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/zh.gif" /> <span>简体中文</span></a></li>
|
344
|
+
|
345
|
+
</ul>
|
346
|
+
|
347
|
+
<script>
|
348
|
+
|
349
|
+
$("langSelector").className = "js";
|
350
|
+
LFM.set("Page", {
|
351
|
+
navDropDown: new LFM.Display.DropDown(
|
352
|
+
"headerLangToggle",
|
353
|
+
"headerLangToggle",
|
354
|
+
"langSelector",
|
355
|
+
{
|
356
|
+
align: "right",
|
357
|
+
onShow: function (dropdown) {
|
358
|
+
dropdown.ddbody.setStyle({
|
359
|
+
top: (dropdown.ddbody.getStyle("top").toPixels() + 3) + "px"
|
360
|
+
});
|
361
|
+
}
|
362
|
+
}
|
363
|
+
)
|
364
|
+
});
|
365
|
+
|
366
|
+
</script>
|
367
|
+
<div id="multiButtonMenu" style="display: none;">
|
368
|
+
<div>
|
369
|
+
<ul class="lfmDropDownBody">
|
370
|
+
<li class="mAddToLibrary"><a href="#">Add to my Library</a></li>
|
371
|
+
<li class="mAddToFriends"><a href="#">Add to Friends</a></li>
|
372
|
+
|
373
|
+
<!-- <li class="save"><a href="#">Bookmark</a></li> -->
|
374
|
+
<li class="mSend"><a href="#">Share</a></li>
|
375
|
+
|
376
|
+
<li class="mLove"><a href="#">Love track</a></li>
|
377
|
+
<li class="mUnlove"><a href="#">Unlove track</a></li>
|
378
|
+
<li class="mBan"><a href="#">Ban track from radio</a></li>
|
379
|
+
<li class="mUnban"><a href="#">Unban track from radio</a></li>
|
380
|
+
|
381
|
+
|
382
|
+
<li class="mAddTags"><a href="#">Add tags</a></li>
|
383
|
+
<li class="mAddToPlaylist"><a href="#">Add to playlist</a></li>
|
384
|
+
<li class="mMessage"><a href="#">Send a message</a></li>
|
385
|
+
<li class="mEditDetails"><a href="#">Edit Details</a></li>
|
386
|
+
<li class="mMessageAll"><a href="#">Message All Users</a></li>
|
387
|
+
<li class="mEditPermissions"><a href="#">Edit Permissions</a></li>
|
388
|
+
<li class="mAbdicate"><a href="#">Abdicate</a></li>
|
389
|
+
<li class="mLeave"><a href="#">Leave Group</a></li>
|
390
|
+
|
391
|
+
<li class="mRemoveFromLibrary"><a href="#">Remove from your Library</a></li>
|
392
|
+
|
393
|
+
<li class="mLoading"><a href="#"> </a></li>
|
394
|
+
</ul>
|
395
|
+
</div>
|
396
|
+
</div>
|
397
|
+
|
398
|
+
|
399
|
+
<script type="text/javascript" src="http://dw.com.com/js/dw.js"></script>
|
400
|
+
<script type="text/javascript">
|
401
|
+
DW.pageParams = {
|
402
|
+
siteid: '190',
|
403
|
+
ptid: '',
|
404
|
+
onid: ''
|
405
|
+
};
|
406
|
+
DW.clear();
|
407
|
+
</script>
|
408
|
+
<noscript>
|
409
|
+
<img src="http://dw.com.com/clear/c.gif?ts=1243081435&sid=" />
|
410
|
+
</noscript>
|
411
|
+
|
412
|
+
|
413
|
+
<script src="http://surveys.cnet.com/html/surveys/1361.js"></script>
|
414
|
+
|
415
|
+
<script>
|
416
|
+
|
417
|
+
LFM.Button.MultiButton.setup();
|
418
|
+
LFM.Display.setMinHeight();
|
419
|
+
|
420
|
+
</script>
|
421
|
+
|
422
|
+
</div>
|
423
|
+
</div>
|
424
|
+
</div>
|
425
|
+
</body>
|
426
|
+
</html>
|
@@ -0,0 +1,1274 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
3
|
+
<head profile="http://purl.org/uF/2008/03/">
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
5
|
+
<title>tasteometer.compare Web Service – Last.fm</title>
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
|
7
|
+
|
8
|
+
<link rel="search" type="application/opensearchdescription+xml" href="http://cdn.last.fm/opensearch_desc.xml" title="Last.fm" />
|
9
|
+
<meta name="description" content="The world’s largest online music catalogue, with free music streaming, videos, photos, lyrics, charts, artist biographies, concerts and internet radio."/>
|
10
|
+
<meta http-equiv="content-language" content="en" />
|
11
|
+
<meta name="robots" content="NOODP" />
|
12
|
+
|
13
|
+
<link rel="icon" href="http://cdn.last.fm/flatness/favicon.2.ico" />
|
14
|
+
<link rel="icon" type="image/png" href="http://cdn.last.fm/flatness/favicon.2.png" />
|
15
|
+
<link rel="apple-touch-icon" href="http://cdn.last.fm/flatness/apple-touch-icon.png" />
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
<link type="text/html" rel="alternate" hreflang="de" href="http://www.lastfm.de/api/show?service=258" />
|
20
|
+
<link type="text/html" rel="alternate" hreflang="es" href="http://www.lastfm.es/api/show?service=258" />
|
21
|
+
<link type="text/html" rel="alternate" hreflang="fr" href="http://www.lastfm.fr/api/show?service=258" />
|
22
|
+
<link type="text/html" rel="alternate" hreflang="it" href="http://www.lastfm.it/api/show?service=258" />
|
23
|
+
<link type="text/html" rel="alternate" hreflang="ja" href="http://www.lastfm.jp/api/show?service=258" />
|
24
|
+
<link type="text/html" rel="alternate" hreflang="pl" href="http://www.lastfm.pl/api/show?service=258" />
|
25
|
+
<link type="text/html" rel="alternate" hreflang="pt" href="http://www.lastfm.com.br/api/show?service=258" />
|
26
|
+
<link type="text/html" rel="alternate" hreflang="ru" href="http://www.lastfm.ru/api/show?service=258" />
|
27
|
+
<link type="text/html" rel="alternate" hreflang="sv" href="http://www.lastfm.se/api/show?service=258" />
|
28
|
+
<link type="text/html" rel="alternate" hreflang="tr" href="http://www.lastfm.com.tr/api/show?service=258" />
|
29
|
+
<link type="text/html" rel="alternate" hreflang="cn" href="http://cn.last.fm/api/show?service=258" />
|
30
|
+
|
31
|
+
|
32
|
+
<!--[if LT IE 7]>
|
33
|
+
<style type="text/css">
|
34
|
+
.transparent_png {
|
35
|
+
behavior: url('/pngbehavior2.htc');
|
36
|
+
}
|
37
|
+
</style>
|
38
|
+
<![endif]-->
|
39
|
+
<link rel="stylesheet" href="http://cdn.last.fm/css/release-lastfm/130860/main.css" type="text/css" />
|
40
|
+
<link rel="stylesheet" href="http://cdn.last.fm/css/release-lastfm/130860/components.css" type="text/css" />
|
41
|
+
<link rel="stylesheet" href="http://cdn.last.fm/css/release-lastfm/130860/dialog.css" type="text/css" />
|
42
|
+
<link rel="stylesheet" href="http://cdn.last.fm/css/release-lastfm/130860/form/typeahead.css" type="text/css" />
|
43
|
+
<link rel="stylesheet" href="http://cdn.last.fm/css/release-lastfm/130860/dev/console.css" type="text/css" />
|
44
|
+
|
45
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/lib/prototype.js"></script>
|
46
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/lib/scriptaculous.js"></script>
|
47
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/lib/ufo.js"></script>
|
48
|
+
|
49
|
+
<!-- Create our namespace -->
|
50
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/LFM.js"></script>
|
51
|
+
|
52
|
+
|
53
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/console.js"></script>
|
54
|
+
|
55
|
+
<script type="text/javascript">
|
56
|
+
|
57
|
+
LFM.set("config", { FOD_TRACKING: false });
|
58
|
+
|
59
|
+
LFM.set("Session", {"cookieHost":".last.fm","host":"www.last.fm","staticHost":"http:\/\/cdn.last.fm","formtoken":"51819edea1f52c2f11ed0387d0c1ea5b2e05dafb","location":"gb","language":"en","loggedIn":true,"subscriber":false,"userURL":"\/user\/knaveofdiamonds","libraryURL":"\/user\/knaveofdiamonds\/library","userName":"knaveofdiamonds","prefersClient":false});
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
LFM.set("String", {
|
64
|
+
toRedStr: "Simply Red",
|
65
|
+
toBlackStr: "Paint it Black",
|
66
|
+
|
67
|
+
okText: "OK",
|
68
|
+
cancelText: "Cancel",
|
69
|
+
clickToEditText: "Click to edit",
|
70
|
+
savingText: "Saving…",
|
71
|
+
loadingText: "Loading…",
|
72
|
+
deletingText: "Deleting…",
|
73
|
+
thereWasAnError: "There was an error.",
|
74
|
+
dialogLoadError: "There was an error loading this dialog.",
|
75
|
+
fileTooBig: "Sorry, the file is too big.",
|
76
|
+
noFile: "Please choose a file.",
|
77
|
+
uploadCancelled: "Upload Cancelled.",
|
78
|
+
deleteMessageTitle: "Delete Message",
|
79
|
+
deleteMessagePrompt: "Are you sure you want to delete this message?",
|
80
|
+
deleteFriendPrompt: "Are you sure you want to delete this friend?",
|
81
|
+
deleteImage: "Are you sure you want to delete this image?",
|
82
|
+
deleteButtonText: "Delete",
|
83
|
+
done: "Done",
|
84
|
+
|
85
|
+
|
86
|
+
backText: "Back",
|
87
|
+
|
88
|
+
yesText: "Yes",
|
89
|
+
noText: "No",
|
90
|
+
|
91
|
+
saveText: "Save",
|
92
|
+
saveTitle: "Add to profile",
|
93
|
+
|
94
|
+
sendText: "Send",
|
95
|
+
sendTitle: "Share with friends",
|
96
|
+
|
97
|
+
addTitle: "Add to library",
|
98
|
+
|
99
|
+
tagTitle: "Add tags",
|
100
|
+
|
101
|
+
playlistTitle: "Add to playlist",
|
102
|
+
|
103
|
+
obsessionTitle: "Personalise your obsession",
|
104
|
+
|
105
|
+
befriendTitle: "Add a friend",
|
106
|
+
|
107
|
+
joinTitle: "Join this group",
|
108
|
+
|
109
|
+
loved: "Loved",
|
110
|
+
|
111
|
+
RemoveFromLibraryTitle: "Remove from library",
|
112
|
+
|
113
|
+
uploadImageTitle: "Upload Image",
|
114
|
+
uploadVideoTitle: "Upload Video",
|
115
|
+
|
116
|
+
usernoteTitle: "Add a note",
|
117
|
+
|
118
|
+
flageventTitle: "Flag for review",
|
119
|
+
|
120
|
+
setLocationTitle: "Set your Location",
|
121
|
+
|
122
|
+
newWindowTooltip: "This link will open in a new window",
|
123
|
+
unloadWarningMessage: "This will stop Radio Playback",
|
124
|
+
trackLoved: "You loved this track",
|
125
|
+
playbackStopped: "Playback stopped",
|
126
|
+
loadingTrackInfo: "Loading track information",
|
127
|
+
errorLoadingTrackInfo: "Error loading track information",
|
128
|
+
|
129
|
+
uploadMessages: {
|
130
|
+
mayTakeLonger: "Sorry, this may take slightly longer than usual. Hold on a couple of seconds.",
|
131
|
+
uploading: "Uploading…",
|
132
|
+
endUploading: "Done",
|
133
|
+
progressDisplay: "PERCENTUPLOADED% complete (TRANSFERRATE kb/s) – TIMEREMAINING seconds remaining",
|
134
|
+
progressComplete: "100% complete",
|
135
|
+
failedRetrying: "Failed retrying upload, bailed.",
|
136
|
+
processingMedia: "Processing media…",
|
137
|
+
unsupportedFormat: "Sorry, the file you uploaded isn’t encoded in a supported format. Please try again.",
|
138
|
+
uploadError: "There was an error uploading your video, please verify that the file you are uploading is not too large or of an incorrect format and try again."
|
139
|
+
}
|
140
|
+
});
|
141
|
+
|
142
|
+
LFM.set("Element", {
|
143
|
+
icon_loved_indicator: "<img class=\"loved_indicator_icon transparent_png\" width=\"11\" height=\"9\" src=\"http:\/\/cdn.last.fm\/flatness\/global\/icon_loved_indicator.2.png\" \/>",
|
144
|
+
icon_tag: "<img class=\"tag_icon transparent_png\" width=\"14\" height=\"14\" src=\"http:\/\/cdn.last.fm\/flatness\/global\/icon_tag3.png\" \/>",
|
145
|
+
icon_dismiss: "<img class=\"dismiss_icon transparent_png\" width=\"13\" height=\"13\" src=\"http:\/\/cdn.last.fm\/flatness\/global\/icon_delete.2.png\" \/>",
|
146
|
+
icon_play: "<img class=\"play_icon transparent_png\" width=\"17\" height=\"17\" alt=\"Play\" src=\"http:\/\/cdn.last.fm\/flatness\/global\/icon_play.png\" \/>"
|
147
|
+
}); </script>
|
148
|
+
|
149
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/components.js"></script>
|
150
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/flash.js"></script>
|
151
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/dialog.js"></script>
|
152
|
+
<script type="text/javascript" src="http://cdn.last.fm/javascript/release-lastfm/130861/form/typeahead.js"></script>
|
153
|
+
|
154
|
+
<script type="text/javascript">
|
155
|
+
|
156
|
+
document.observe("dom:loaded", function () {
|
157
|
+
if (typeof ieHover !== 'undefined') {
|
158
|
+
ieHover.setUp();
|
159
|
+
}
|
160
|
+
});
|
161
|
+
|
162
|
+
</script>
|
163
|
+
|
164
|
+
</head>
|
165
|
+
|
166
|
+
|
167
|
+
<body class="a-show">
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
<!-- SiteCatalyst code version: H.16.
|
172
|
+
Copyright 1997-2008 Omniture, Inc. More info available at
|
173
|
+
http://www.omniture.com -->
|
174
|
+
|
175
|
+
<script>var s = false, s_gi = false;</script>
|
176
|
+
<script src="http://cdn.last.fm/omniture/9/omniture-core.js"></script>
|
177
|
+
<script>
|
178
|
+
|
179
|
+
/* You may give each page an identifying name, server, and channel on
|
180
|
+
the next lines. */
|
181
|
+
if (s) {
|
182
|
+
s.pageName="Api/Show/";
|
183
|
+
s.server="";
|
184
|
+
s.channel="";
|
185
|
+
s.pageType="other";
|
186
|
+
|
187
|
+
s.prop1="api"; // namespace
|
188
|
+
s.prop2="show"; // controller
|
189
|
+
s.prop3=""; // action
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
s.prop10="lfm"; // logged in/out
|
195
|
+
|
196
|
+
s.prop12="last.fm"; // url extension
|
197
|
+
|
198
|
+
s.prop13=""; // Member user id
|
199
|
+
|
200
|
+
s.prop14=""; // Ad source
|
201
|
+
s.prop15=""; // Ad id
|
202
|
+
s.prop16=""; // Ad size
|
203
|
+
s.prop18=s.getTimeParting('h',0,2009); // Set hour
|
204
|
+
s.prop19=s.getTimeParting('d',0,2009); // Set day
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
s.prop32 = ""; // TODO: 1st day of visit
|
211
|
+
s.prop33 = "en";
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
/* Success Events */
|
216
|
+
s.events="";
|
217
|
+
|
218
|
+
/* E-commerce Variables */
|
219
|
+
// s.campaign="";
|
220
|
+
s.state="";
|
221
|
+
s.zip="";
|
222
|
+
s.products="";
|
223
|
+
s.purchaseID="";
|
224
|
+
s.eVar1="";
|
225
|
+
s.eVar2 = s.pageName; // Page name
|
226
|
+
s.eVar3="";
|
227
|
+
|
228
|
+
|
229
|
+
s.eVar10="lfm"; // logged in/out
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
s.eVar26=""; // OnClick Location
|
236
|
+
s.eVar27=""; // Download Platform
|
237
|
+
s.eVar28=""; // Buy/Download Location
|
238
|
+
|
239
|
+
s.eVar29=""; // TODO: 1st day of visit
|
240
|
+
s.eVar30=s.prop12; // url extension
|
241
|
+
|
242
|
+
s.eVar31=s.getNewRepeat(); // new/repeat visitor
|
243
|
+
s.eVar32=s.getDaysSinceLastVisit(); // Days since last visit
|
244
|
+
|
245
|
+
s.eVar33=""; // Ad source
|
246
|
+
s.eVar34=""; // Ad id
|
247
|
+
s.eVar35=""; // Ad size
|
248
|
+
|
249
|
+
s.eVar36=""; // Member user id
|
250
|
+
|
251
|
+
s.eVar37=s.prop33; // User language
|
252
|
+
|
253
|
+
s.eVar38="< 10,000"; // User scrobbles < 10,000
|
254
|
+
|
255
|
+
|
256
|
+
// Set vars to pass with exit/download/custom links called by s.tl()
|
257
|
+
// * Click location
|
258
|
+
s.linkTrackVars="eVar26";
|
259
|
+
|
260
|
+
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
|
261
|
+
var s_code = s.t(); if (s_code) document.write(s_code);
|
262
|
+
}
|
263
|
+
|
264
|
+
</script>
|
265
|
+
<script type="text/javascript"><!--
|
266
|
+
if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')
|
267
|
+
//--></script>
|
268
|
+
<!--/DO NOT REMOVE/-->
|
269
|
+
<!-- End SiteCatalyst code version: H.11. -->
|
270
|
+
|
271
|
+
<script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script>
|
272
|
+
<script type="text/javascript">
|
273
|
+
|
274
|
+
var _qoptions = {
|
275
|
+
labels: "LastFM"
|
276
|
+
};
|
277
|
+
var _qacct="p-51jhoCdjGFIVU";
|
278
|
+
quantserve();
|
279
|
+
|
280
|
+
</script>
|
281
|
+
<noscript>
|
282
|
+
<a href="http://www.quantcast.com/p-51jhoCdjGFIVU" target="_blank"><img src="http://pixel.quantserve.com/pixel/p-51jhoCdjGFIVU.gif?labels=LastFM" height="1" width="1" alt="" /></a>
|
283
|
+
</noscript>
|
284
|
+
<div id="page" class=" ">
|
285
|
+
<div class="fixed full">
|
286
|
+
|
287
|
+
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
<div id="header" class="clearit">
|
297
|
+
<div id="headerWrapper">
|
298
|
+
<h1><a href="/home" id="lastfmLogo">
|
299
|
+
<img src="http://cdn.last.fm/flatness/logo.6.png" width="103" height="50" alt="Last.fm" />
|
300
|
+
<img src="http://cdn.last.fm/flatness/logo_black.3.png" width="103" height="50" style="display: none;" alt="Last.fm" />
|
301
|
+
<span>Last.fm</span>
|
302
|
+
</a></h1>
|
303
|
+
<ul id="primaryNav" class="clearit">
|
304
|
+
<li id="musicNav">
|
305
|
+
<a href="/music">Music</a>
|
306
|
+
</li>
|
307
|
+
<li id="videosNav">
|
308
|
+
<a href="/videos">Videos</a>
|
309
|
+
</li>
|
310
|
+
<li id="listenNav">
|
311
|
+
<a href="/listen">Radio</a>
|
312
|
+
</li>
|
313
|
+
<li id="eventsNav">
|
314
|
+
<a href="/events">Events</a>
|
315
|
+
</li>
|
316
|
+
<li id="chartsNav">
|
317
|
+
<a href="/charts">Charts</a>
|
318
|
+
</li>
|
319
|
+
<li>
|
320
|
+
<form id="siteSearch" method="get" action="/search">
|
321
|
+
|
322
|
+
<select name="m" id="siteSearchSelect">
|
323
|
+
<option value="all">Music</option>
|
324
|
+
<option value="event">Event</option>
|
325
|
+
<option value="tag">Tag</option>
|
326
|
+
<option value="user">User</option>
|
327
|
+
<option value="group">Group</option>
|
328
|
+
<option value="label">Label</option>
|
329
|
+
</select>
|
330
|
+
<input id="siteSearchBox" placeholder="Search" type="text" autosave="fm.last.searchhistory" results="5" name="q" size="16" />
|
331
|
+
|
332
|
+
<input class="submit" type="submit" value="" title="Go" id="siteSearchSubmit" />
|
333
|
+
</form>
|
334
|
+
</li>
|
335
|
+
</ul>
|
336
|
+
|
337
|
+
<div id="idBadger">
|
338
|
+
<a href="/user/knaveofdiamonds" id="idBadgerUser" title="Roland Swingler, United Kingdom"><span class="userImage"><img width="16" height="16" alt="" src="http://userserve-ak.last.fm/serve/34s/10636291.jpg" /></span> <span>knaveofdiamonds</span></a><a href="/user/knaveofdiamonds" id="idBadgerDropper" title="Roland Swingler, United Kingdom">▼</a>
|
339
|
+
<ul id="idBadgerDropDown">
|
340
|
+
<li><a href="/home">Home</a></li>
|
341
|
+
<li><a href="/user/knaveofdiamonds" title="Roland Swingler, United Kingdom">Profile</a></li>
|
342
|
+
<li><a href="/home/recs">Recommended</a></li>
|
343
|
+
<li><a href="/user/knaveofdiamonds/library" title="">Library</a></li>
|
344
|
+
<li><a href="/user/knaveofdiamonds/events" title="">Events</a></li>
|
345
|
+
<li><a href="/settings">Settings</a></li>
|
346
|
+
</ul>
|
347
|
+
</div>
|
348
|
+
<div id="headLinks">
|
349
|
+
<p>
|
350
|
+
<a href="/login/logout">Log out</a> | <a href="/inbox">Inbox</a> |
|
351
|
+
<a href="#" title="Switch Colour Style" id="colourToggle">Paint it Black</a> |
|
352
|
+
<script>
|
353
|
+
$('colourToggle').observe('click', function (e) {
|
354
|
+
e.stop();
|
355
|
+
LFM.Display.colourToggle(e.element(), LFM.String.toRedStr, LFM.String.toBlackStr);
|
356
|
+
});
|
357
|
+
</script>
|
358
|
+
<a href="/help">Help</a>
|
359
|
+
|
|
360
|
+
<img src="http://cdn.last.fm/depth/flags/mini/globe.gif" id="langToggleFlag" alt="Change language" />
|
361
|
+
<a href="/api/show?service=258&change=language" title="Click here to change your language" rel="nofollow" id="headerLangToggle">English</a>
|
362
|
+
|
363
|
+
</p>
|
364
|
+
</div>
|
365
|
+
</div><!-- #headerWrapper -->
|
366
|
+
</div>
|
367
|
+
|
368
|
+
<script>
|
369
|
+
LFM.Display.setupHeader(); new LFM.Activityfeed.DeleteListener();
|
370
|
+
</script>
|
371
|
+
<!-- Adserving start -->
|
372
|
+
|
373
|
+
<div id="LastAd_Skin" class="LastAd">
|
374
|
+
<div align="center">
|
375
|
+
<script type="text/javascript">
|
376
|
+
if(typeof writeSkin == 'function') writeSkin();
|
377
|
+
</script>
|
378
|
+
</div>
|
379
|
+
</div>
|
380
|
+
<script>
|
381
|
+
$("LastAd_Skin").hide();
|
382
|
+
</script>
|
383
|
+
<!-- Adserving end --><div id='content'>
|
384
|
+
<div class="fullWidth">
|
385
|
+
|
386
|
+
|
387
|
+
<style type="text/css">
|
388
|
+
|
389
|
+
body {
|
390
|
+
padding:0px 0px 0px 20px;
|
391
|
+
color:#000;
|
392
|
+
text-align:left;
|
393
|
+
}
|
394
|
+
|
395
|
+
a,a:link,a:visited {
|
396
|
+
text-decoration:none;
|
397
|
+
color:#D01F3C;
|
398
|
+
}
|
399
|
+
|
400
|
+
#content a:hover {
|
401
|
+
background-color:#D01F3C;
|
402
|
+
color:#FFF;
|
403
|
+
}
|
404
|
+
|
405
|
+
p.sampleurl a {
|
406
|
+
word-wrap:break-word;
|
407
|
+
text-wrap:unrestricted;
|
408
|
+
}
|
409
|
+
|
410
|
+
a.auth:hover {
|
411
|
+
background-color:#FFF;
|
412
|
+
color:#000;
|
413
|
+
}
|
414
|
+
|
415
|
+
a.auth {
|
416
|
+
color:#000;
|
417
|
+
}
|
418
|
+
|
419
|
+
a.cancel,a.cancel:link,a.cancel:active,a.cancel:visited,a.cancel:hover {
|
420
|
+
text-decoration:underline;
|
421
|
+
text-underline:solid #D01F3C;
|
422
|
+
text-underline-style:solid;
|
423
|
+
}
|
424
|
+
|
425
|
+
ul {
|
426
|
+
list-style-type:none;
|
427
|
+
padding:0px 0px 0px 10px;
|
428
|
+
margin:2px 0px 2px 0px;
|
429
|
+
}
|
430
|
+
|
431
|
+
#main p {
|
432
|
+
line-height:1.3em;
|
433
|
+
}
|
434
|
+
|
435
|
+
li {
|
436
|
+
padding:0px 0px 0px 0px;
|
437
|
+
margin:0px 0px 0px 0px;
|
438
|
+
}
|
439
|
+
|
440
|
+
#content h1,h2,h3 {
|
441
|
+
font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;
|
442
|
+
font-size:14px;
|
443
|
+
color:#000;
|
444
|
+
clear:none;
|
445
|
+
margin-top:10px;
|
446
|
+
}
|
447
|
+
|
448
|
+
dd {
|
449
|
+
margin:5px 0px 5px 20px;
|
450
|
+
}
|
451
|
+
|
452
|
+
ol {
|
453
|
+
margin:5px 0px 5px 20px;
|
454
|
+
list-style-type:decimal;
|
455
|
+
}
|
456
|
+
|
457
|
+
#content h1 {
|
458
|
+
padding-bottom:2px;
|
459
|
+
margin:8px 0 10px 0px;
|
460
|
+
}
|
461
|
+
|
462
|
+
h4 {
|
463
|
+
color:#000;
|
464
|
+
margin-top:5px;
|
465
|
+
}
|
466
|
+
|
467
|
+
.wstesttitle {
|
468
|
+
border-bottom:1px solid #CCC;
|
469
|
+
font-weight:Bold;
|
470
|
+
}
|
471
|
+
|
472
|
+
.wstestpass {
|
473
|
+
background:#C1FFC1;
|
474
|
+
padding:10px;
|
475
|
+
border:1px dotted #CCC;
|
476
|
+
}
|
477
|
+
|
478
|
+
#grant {
|
479
|
+
clear: both;
|
480
|
+
float:left;
|
481
|
+
padding-left:0;
|
482
|
+
padding-right:10px;
|
483
|
+
margin-left:0px;
|
484
|
+
}
|
485
|
+
|
486
|
+
#apigroup ul {
|
487
|
+
padding-left:0px;
|
488
|
+
padding-top:4px;
|
489
|
+
}
|
490
|
+
|
491
|
+
h2 {
|
492
|
+
color:#D01F3C;
|
493
|
+
margin-bottom:10px;
|
494
|
+
margin-top:12px;
|
495
|
+
font-size:16px;
|
496
|
+
}
|
497
|
+
|
498
|
+
#leftcol h2{
|
499
|
+
color:#000;
|
500
|
+
}
|
501
|
+
|
502
|
+
#leftcol {
|
503
|
+
float:left;
|
504
|
+
padding:20px 20px 20px 20px;
|
505
|
+
background-color:#F0F0F0;
|
506
|
+
margin-bottom:20px;
|
507
|
+
}
|
508
|
+
|
509
|
+
ul.wspanel {
|
510
|
+
padding-left:0px;
|
511
|
+
}
|
512
|
+
|
513
|
+
.wspanel li.package {
|
514
|
+
margin-top:5px;
|
515
|
+
}
|
516
|
+
|
517
|
+
.param {
|
518
|
+
font-style:italic;
|
519
|
+
font-weight:bold;
|
520
|
+
}
|
521
|
+
|
522
|
+
#main {
|
523
|
+
padding:0px 0 0 20px;
|
524
|
+
margin:0px 0 0 220px;
|
525
|
+
}
|
526
|
+
|
527
|
+
#wsdescriptor {
|
528
|
+
padding-top:0px;
|
529
|
+
}
|
530
|
+
|
531
|
+
textarea {
|
532
|
+
width:auto;
|
533
|
+
margin-bottom:10px;
|
534
|
+
}
|
535
|
+
|
536
|
+
p {
|
537
|
+
padding:8px 2px 2px 0px;
|
538
|
+
margin:2px;
|
539
|
+
}
|
540
|
+
|
541
|
+
.wsdescription {
|
542
|
+
padding:10px 10px 10px 10px;
|
543
|
+
margin-top:5px;
|
544
|
+
background:#ffd;
|
545
|
+
border:1px dotted #CCC;
|
546
|
+
}
|
547
|
+
|
548
|
+
#wstitle {
|
549
|
+
padding-bottom:4px;
|
550
|
+
padding-left:55px;
|
551
|
+
background-image:url(http://cdn.last.fm/webclient/lastfmlogo.jpg);
|
552
|
+
background-repeat:no-repeat;
|
553
|
+
background-position: 0 0;
|
554
|
+
}
|
555
|
+
|
556
|
+
.feeds td.feed {
|
557
|
+
color:#666;
|
558
|
+
width:100%;
|
559
|
+
}
|
560
|
+
|
561
|
+
#blurb {
|
562
|
+
background-color:#F0F0F0;
|
563
|
+
width:500px;
|
564
|
+
padding:10px;
|
565
|
+
padding-bottom:20px;
|
566
|
+
font-size:16px;
|
567
|
+
line-height:1.4em;
|
568
|
+
}
|
569
|
+
|
570
|
+
#apigroup {
|
571
|
+
float:right;
|
572
|
+
width:260px;
|
573
|
+
padding:0px 30px;
|
574
|
+
}
|
575
|
+
|
576
|
+
#build {
|
577
|
+
clear:right;
|
578
|
+
margin-top:15px;
|
579
|
+
}
|
580
|
+
|
581
|
+
.title {
|
582
|
+
border-bottom:1px solid #CCC;
|
583
|
+
}
|
584
|
+
|
585
|
+
#methods {
|
586
|
+
clear:left;
|
587
|
+
}
|
588
|
+
|
589
|
+
#apigroup h2 {
|
590
|
+
margin-top:6px;
|
591
|
+
margin-bottom:6px;
|
592
|
+
}
|
593
|
+
|
594
|
+
ul#apps {
|
595
|
+
padding-left:0px;
|
596
|
+
}
|
597
|
+
|
598
|
+
ul#apps li.item {
|
599
|
+
cursor:pointer;
|
600
|
+
float:left;
|
601
|
+
line-height:14px;
|
602
|
+
overflow:hidden;
|
603
|
+
padding:0px;
|
604
|
+
width:260px;
|
605
|
+
}
|
606
|
+
|
607
|
+
ul#apps li.item p.basic {
|
608
|
+
width:250px;
|
609
|
+
color:#000;
|
610
|
+
font-weight:bold;
|
611
|
+
}
|
612
|
+
|
613
|
+
ul#apps li.item a:hover {
|
614
|
+
background-color:#F0F0F0;
|
615
|
+
}
|
616
|
+
|
617
|
+
h2.package {
|
618
|
+
color:#000;
|
619
|
+
}
|
620
|
+
|
621
|
+
#methods .col {
|
622
|
+
float:left;
|
623
|
+
width:260px;
|
624
|
+
}
|
625
|
+
|
626
|
+
div.appsimage {
|
627
|
+
overflow:hidden;
|
628
|
+
width:240px;
|
629
|
+
height:100px;
|
630
|
+
}
|
631
|
+
|
632
|
+
ul#apps a.itemlink {
|
633
|
+
color:#333;
|
634
|
+
display:block;
|
635
|
+
height:190px;
|
636
|
+
padding:10px;
|
637
|
+
padding-top:0px;
|
638
|
+
margin-bottom:10px;
|
639
|
+
position:relative;
|
640
|
+
text-decoration:none;
|
641
|
+
width:250px;
|
642
|
+
}
|
643
|
+
|
644
|
+
#content h1.header a,#content h1.header a:hover,#content h1.header a:visited{
|
645
|
+
color:#000;
|
646
|
+
text-decoration:none;
|
647
|
+
background-color:#FFFFFF;
|
648
|
+
}
|
649
|
+
|
650
|
+
ul#apps p.itemdesc {
|
651
|
+
width:250px;
|
652
|
+
}
|
653
|
+
|
654
|
+
ul#apps li.item a {
|
655
|
+
width:260px;
|
656
|
+
}
|
657
|
+
|
658
|
+
#intro {
|
659
|
+
margin-top:5px;
|
660
|
+
}
|
661
|
+
|
662
|
+
|
663
|
+
td.feed .title {
|
664
|
+
color:#000;
|
665
|
+
border-bottom:none;
|
666
|
+
}
|
667
|
+
|
668
|
+
.feeds td {
|
669
|
+
width:100px;
|
670
|
+
border-bottom: 1px solid #F0F0F0;
|
671
|
+
margin:0px;
|
672
|
+
}
|
673
|
+
|
674
|
+
h3.feed {
|
675
|
+
color:#D01F3C;
|
676
|
+
border-bottom: 1px solid #CCC;
|
677
|
+
padding-bottom:5px;
|
678
|
+
}
|
679
|
+
|
680
|
+
.feeds {
|
681
|
+
}
|
682
|
+
|
683
|
+
.feeds .last td{
|
684
|
+
border-bottom:none;
|
685
|
+
}
|
686
|
+
#wstitle h1 {
|
687
|
+
font-size:24px;
|
688
|
+
line-height:1.0 em;
|
689
|
+
font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;
|
690
|
+
margin-bottom:2px;
|
691
|
+
}
|
692
|
+
|
693
|
+
#content h1 {
|
694
|
+
padding-top:6px;
|
695
|
+
font-size:24px;
|
696
|
+
}
|
697
|
+
|
698
|
+
#wsurl {
|
699
|
+
padding:4px 0 0 10px;
|
700
|
+
}
|
701
|
+
|
702
|
+
#sample {
|
703
|
+
overflow:hidden;
|
704
|
+
}
|
705
|
+
|
706
|
+
ul.stations {
|
707
|
+
margin-left:20px;
|
708
|
+
}
|
709
|
+
|
710
|
+
ul.stations li {
|
711
|
+
list-style-type:disc;
|
712
|
+
margin-left:8px;
|
713
|
+
padding:2px 0 0 5px;
|
714
|
+
}
|
715
|
+
|
716
|
+
ul.stationpanel li {
|
717
|
+
padding:4px 0 4px 0;
|
718
|
+
}
|
719
|
+
|
720
|
+
pre {
|
721
|
+
background-color:#F0F0F0;
|
722
|
+
padding:10px;
|
723
|
+
line-height:1.2em;
|
724
|
+
margin:5px 0 5px 0;
|
725
|
+
}
|
726
|
+
|
727
|
+
textarea:hover {
|
728
|
+
}
|
729
|
+
|
730
|
+
button {
|
731
|
+
font-size:12px;
|
732
|
+
}
|
733
|
+
|
734
|
+
td {
|
735
|
+
padding:5px 0 5px 5px;
|
736
|
+
}
|
737
|
+
|
738
|
+
table.ws {
|
739
|
+
text-align:left;
|
740
|
+
}
|
741
|
+
|
742
|
+
table.ws td,table.ws th,table.ws tr {
|
743
|
+
padding:3px;
|
744
|
+
}
|
745
|
+
|
746
|
+
.highlight {
|
747
|
+
}
|
748
|
+
|
749
|
+
#footer {
|
750
|
+
padding:10px 0 0 0px;
|
751
|
+
margin:20px 0 40px 240px;
|
752
|
+
width:700px;
|
753
|
+
color:#666;
|
754
|
+
border-top:1px solid #CCC;
|
755
|
+
}
|
756
|
+
|
757
|
+
</style>
|
758
|
+
<div id="leftcol">
|
759
|
+
<h2>API Doc</h2>
|
760
|
+
|
761
|
+
<ul class="wspanel">
|
762
|
+
<li><a href="/api/intro">Overview</a></li>
|
763
|
+
<li><a href="/api/authentication">User Authentication</a></li>
|
764
|
+
<li><a href="/api/submissions">Submissions</a></li>
|
765
|
+
<li><a href="/api/radio">Radio API</a></li>
|
766
|
+
<li><a href="/api/playlists">Playlists</a></li>
|
767
|
+
<li><a href="/api/downloads">Downloads</a></li>
|
768
|
+
<li><a href="/api/rest">REST requests</a></li>
|
769
|
+
<li><a href="/api/xmlrpc">XML-RPC requests</a></li>
|
770
|
+
</ul>
|
771
|
+
|
772
|
+
<h2>API Methods</h2>
|
773
|
+
<ul class="wspanel">
|
774
|
+
<li class="package"><b>Album</b></li>
|
775
|
+
<ul>
|
776
|
+
<li><a href="/api/show/?service=302">album.addTags</a></li>
|
777
|
+
<li><a href="/api/show/?service=290">album.getInfo</a></li>
|
778
|
+
<li><a href="/api/show/?service=317">album.getTags</a></li>
|
779
|
+
<li><a href="/api/show/?service=314">album.removeTag</a></li>
|
780
|
+
<li><a href="/api/show/?service=357">album.search</a></li>
|
781
|
+
</ul>
|
782
|
+
<li class="package"><b>Artist</b></li>
|
783
|
+
<ul>
|
784
|
+
<li><a href="/api/show/?service=303">artist.addTags</a></li>
|
785
|
+
<li><a href="/api/show/?service=117">artist.getEvents</a></li>
|
786
|
+
<li><a href="/api/show/?service=407">artist.getImages</a></li>
|
787
|
+
<li><a href="/api/show/?service=267">artist.getInfo</a></li>
|
788
|
+
<li><a href="/api/show/?service=397">artist.getShouts</a></li>
|
789
|
+
<li><a href="/api/show/?service=119">artist.getSimilar</a></li>
|
790
|
+
<li><a href="/api/show/?service=318">artist.getTags</a></li>
|
791
|
+
<li><a href="/api/show/?service=287">artist.getTopAlbums</a></li>
|
792
|
+
<li><a href="/api/show/?service=310">artist.getTopFans</a></li>
|
793
|
+
<li><a href="/api/show/?service=288">artist.getTopTags</a></li>
|
794
|
+
<li><a href="/api/show/?service=277">artist.getTopTracks</a></li>
|
795
|
+
<li><a href="/api/show/?service=315">artist.removeTag</a></li>
|
796
|
+
<li><a href="/api/show/?service=272">artist.search</a></li>
|
797
|
+
<li><a href="/api/show/?service=306">artist.share</a></li>
|
798
|
+
<li><a href="/api/show/?service=408">artist.shout</a></li>
|
799
|
+
</ul>
|
800
|
+
<li class="package"><b>Auth</b></li>
|
801
|
+
<ul>
|
802
|
+
<li><a href="/api/show/?service=266">auth.getMobileSession</a></li>
|
803
|
+
<li><a href="/api/show/?service=125">auth.getSession</a></li>
|
804
|
+
<li><a href="/api/show/?service=265">auth.getToken</a></li>
|
805
|
+
<li><a href="/api/show/?service=133">auth.getWebSession</a></li>
|
806
|
+
</ul>
|
807
|
+
<li class="package"><b>Event</b></li>
|
808
|
+
<ul>
|
809
|
+
<li><a href="/api/show/?service=307">event.attend</a></li>
|
810
|
+
<li><a href="/api/show/?service=391">event.getAttendees</a></li>
|
811
|
+
<li><a href="/api/show/?service=292">event.getInfo</a></li>
|
812
|
+
<li><a href="/api/show/?service=399">event.getShouts</a></li>
|
813
|
+
<li><a href="/api/show/?service=350">event.share</a></li>
|
814
|
+
<li><a href="/api/show/?service=409">event.shout</a></li>
|
815
|
+
</ul>
|
816
|
+
<li class="package"><b>Geo</b></li>
|
817
|
+
<ul>
|
818
|
+
<li><a href="/api/show/?service=270">geo.getEvents</a></li>
|
819
|
+
<li><a href="/api/show/?service=297">geo.getTopArtists</a></li>
|
820
|
+
<li><a href="/api/show/?service=298">geo.getTopTracks</a></li>
|
821
|
+
</ul>
|
822
|
+
<li class="package"><b>Group</b></li>
|
823
|
+
<ul>
|
824
|
+
<li><a href="/api/show/?service=379">group.getMembers</a></li>
|
825
|
+
<li><a href="/api/show/?service=293">group.getWeeklyAlbumChart</a></li>
|
826
|
+
<li><a href="/api/show/?service=294">group.getWeeklyArtistChart</a></li>
|
827
|
+
<li><a href="/api/show/?service=295">group.getWeeklyChartList</a></li>
|
828
|
+
<li><a href="/api/show/?service=296">group.getWeeklyTrackChart</a></li>
|
829
|
+
</ul>
|
830
|
+
<li class="package"><b>Library</b></li>
|
831
|
+
<ul>
|
832
|
+
<li><a href="/api/show/?service=370">library.addAlbum</a></li>
|
833
|
+
<li><a href="/api/show/?service=371">library.addArtist</a></li>
|
834
|
+
<li><a href="/api/show/?service=372">library.addTrack</a></li>
|
835
|
+
<li><a href="/api/show/?service=321">library.getAlbums</a></li>
|
836
|
+
<li><a href="/api/show/?service=322">library.getArtists</a></li>
|
837
|
+
<li><a href="/api/show/?service=323">library.getTracks</a></li>
|
838
|
+
</ul>
|
839
|
+
<li class="package"><b>Playlist</b></li>
|
840
|
+
<ul>
|
841
|
+
<li><a href="/api/show/?service=337">playlist.addTrack</a></li>
|
842
|
+
<li><a href="/api/show/?service=365">playlist.create</a></li>
|
843
|
+
<li><a href="/api/show/?service=271">playlist.fetch</a></li>
|
844
|
+
</ul>
|
845
|
+
<li class="package"><b>Radio</b></li>
|
846
|
+
<ul>
|
847
|
+
<li><a href="/api/show/?service=256">radio.getPlaylist</a></li>
|
848
|
+
<li><a href="/api/show/?service=160">radio.tune</a></li>
|
849
|
+
</ul>
|
850
|
+
<li class="package"><b>Tag</b></li>
|
851
|
+
<ul>
|
852
|
+
<li><a href="/api/show/?service=311">tag.getSimilar</a></li>
|
853
|
+
<li><a href="/api/show/?service=283">tag.getTopAlbums</a></li>
|
854
|
+
<li><a href="/api/show/?service=284">tag.getTopArtists</a></li>
|
855
|
+
<li><a href="/api/show/?service=276">tag.getTopTags</a></li>
|
856
|
+
<li><a href="/api/show/?service=285">tag.getTopTracks</a></li>
|
857
|
+
<li><a href="/api/show/?service=358">tag.getWeeklyArtistChart</a></li>
|
858
|
+
<li><a href="/api/show/?service=359">tag.getWeeklyChartList</a></li>
|
859
|
+
<li><a href="/api/show/?service=273">tag.search</a></li>
|
860
|
+
</ul>
|
861
|
+
<li class="package"><b>Tasteometer</b></li>
|
862
|
+
<ul>
|
863
|
+
<li><a href="/api/show/?service=258">tasteometer.compare</a></li>
|
864
|
+
</ul>
|
865
|
+
<li class="package"><b>Track</b></li>
|
866
|
+
<ul>
|
867
|
+
<li><a href="/api/show/?service=304">track.addTags</a></li>
|
868
|
+
<li><a href="/api/show/?service=261">track.ban</a></li>
|
869
|
+
<li><a href="/api/show/?service=356">track.getInfo</a></li>
|
870
|
+
<li><a href="/api/show/?service=319">track.getSimilar</a></li>
|
871
|
+
<li><a href="/api/show/?service=320">track.getTags</a></li>
|
872
|
+
<li><a href="/api/show/?service=312">track.getTopFans</a></li>
|
873
|
+
<li><a href="/api/show/?service=289">track.getTopTags</a></li>
|
874
|
+
<li><a href="/api/show/?service=260">track.love</a></li>
|
875
|
+
<li><a href="/api/show/?service=316">track.removeTag</a></li>
|
876
|
+
<li><a href="/api/show/?service=286">track.search</a></li>
|
877
|
+
<li><a href="/api/show/?service=305">track.share</a></li>
|
878
|
+
</ul>
|
879
|
+
<li class="package"><b>User</b></li>
|
880
|
+
<ul>
|
881
|
+
<li><a href="/api/show/?service=291">user.getEvents</a></li>
|
882
|
+
<li><a href="/api/show/?service=263">user.getFriends</a></li>
|
883
|
+
<li><a href="/api/show/?service=344">user.getInfo</a></li>
|
884
|
+
<li><a href="/api/show/?service=329">user.getLovedTracks</a></li>
|
885
|
+
<li><a href="/api/show/?service=264">user.getNeighbours</a></li>
|
886
|
+
<li><a href="/api/show/?service=343">user.getPastEvents</a></li>
|
887
|
+
<li><a href="/api/show/?service=313">user.getPlaylists</a></li>
|
888
|
+
<li><a href="/api/show/?service=278">user.getRecentTracks</a></li>
|
889
|
+
<li><a href="/api/show/?service=388">user.getRecommendedArtists</a></li>
|
890
|
+
<li><a href="/api/show/?service=375">user.getRecommendedEvents</a></li>
|
891
|
+
<li><a href="/api/show/?service=401">user.getShouts</a></li>
|
892
|
+
<li><a href="/api/show/?service=299">user.getTopAlbums</a></li>
|
893
|
+
<li><a href="/api/show/?service=300">user.getTopArtists</a></li>
|
894
|
+
<li><a href="/api/show/?service=123">user.getTopTags</a></li>
|
895
|
+
<li><a href="/api/show/?service=301">user.getTopTracks</a></li>
|
896
|
+
<li><a href="/api/show/?service=279">user.getWeeklyAlbumChart</a></li>
|
897
|
+
<li><a href="/api/show/?service=281">user.getWeeklyArtistChart</a></li>
|
898
|
+
<li><a href="/api/show/?service=280">user.getWeeklyChartList</a></li>
|
899
|
+
<li><a href="/api/show/?service=282">user.getWeeklyTrackChart</a></li>
|
900
|
+
<li><a href="/api/show/?service=411">user.shout</a></li>
|
901
|
+
</ul>
|
902
|
+
<li class="package"><b>Venue</b></li>
|
903
|
+
<ul>
|
904
|
+
<li><a href="/api/show/?service=394">venue.getEvents</a></li>
|
905
|
+
<li><a href="/api/show/?service=395">venue.getPastEvents</a></li>
|
906
|
+
<li><a href="/api/show/?service=396">venue.search</a></li>
|
907
|
+
</ul>
|
908
|
+
</ul>
|
909
|
+
</div> <div id="main">
|
910
|
+
<div id="wstitle">
|
911
|
+
<h1 class="header"><a href="/api">Last.fm Web Services</a></h1>
|
912
|
+
<a href="/api/intro">API</a> | <a href="/api/feeds">Feeds</a> | <a href="/api/account">Your API Account</a>
|
913
|
+
</div> <h1>tasteometer.compare</h1>
|
914
|
+
<div class="wsdescription">
|
915
|
+
Get a Tasteometer score from two inputs, along with a list of shared
|
916
|
+
artists. If the input is a User or a Myspace URL, some additional
|
917
|
+
information is returned.
|
918
|
+
</div>
|
919
|
+
<p class="sampleurl">
|
920
|
+
e.g. <a href="http://ws.audioscrobbler.com/2.0/?method=tasteometer.compare&type1=user&type2=user&value1=joanofarctan&value2=mirandason&api_key=b25b959554ed76058ac220b7b2e0a026">http://ws.audioscrobbler.com/2.0/?method=tasteometer.compare&type1=user&type2=user&value1=joano...</a>
|
921
|
+
</p>
|
922
|
+
<div id="wsdescriptor">
|
923
|
+
<h2>Params</h2>
|
924
|
+
<span class="param">type[1|2]</span> (Required x 2) : 'user' | 'artists' | 'myspace'<br />
|
925
|
+
<span class="param">value[1|2]</span> (Required x 2) : [Last.fm username] | [Comma-separated artist names] | [MySpace profile URL]<br />
|
926
|
+
<span class="param">limit</span> (Optional, default = 5) : How many shared artists to display<br />
|
927
|
+
<span class="param">api_key</span> (Required) : A Last.fm API key.<br />
|
928
|
+
<h2>Auth</h2>
|
929
|
+
|
930
|
+
This service does <b>not</b> require authentication.
|
931
|
+
<h2>Sample Response</h2>
|
932
|
+
<script type="text/javascript">
|
933
|
+
|
934
|
+
function showWSExcerptSubmit() {
|
935
|
+
$('updateexcerpt').style.display = 'block';
|
936
|
+
}
|
937
|
+
|
938
|
+
function hideWSExcerptSubmit() {
|
939
|
+
$('updateexcerpt').style.display = 'none';
|
940
|
+
}
|
941
|
+
|
942
|
+
function showWSExcerptSuccess() {
|
943
|
+
$('success').style.display = 'block';
|
944
|
+
}
|
945
|
+
|
946
|
+
function updateExcerpt(excerpt,service) {
|
947
|
+
new Ajax.Request('/api/updateExcerpt', {
|
948
|
+
method: 'post',
|
949
|
+
parameters: 'excerpt='+encodeURIComponent(excerpt.value)+'&service='+service.value,
|
950
|
+
onSuccess: onUpdateExcerpt
|
951
|
+
});
|
952
|
+
}
|
953
|
+
|
954
|
+
function onUpdateExcerpt(response) {
|
955
|
+
if(response.responseText) {
|
956
|
+
hideWSExcerptSubmit();
|
957
|
+
showWSExcerptSuccess();
|
958
|
+
$('excerpt').onblur();
|
959
|
+
}
|
960
|
+
}
|
961
|
+
|
962
|
+
</script>
|
963
|
+
<div id="sample"><pre><lfm status="ok">
|
964
|
+
<comparison>
|
965
|
+
<result>
|
966
|
+
<score>0.74</score>
|
967
|
+
<artists matches="43">
|
968
|
+
<artist>
|
969
|
+
<name>Radiohead</name>
|
970
|
+
<url>http://www.last.fm/music/Radiohead</url>
|
971
|
+
<image size="large">http://userserve-ak.last.fm/serve/160/169665.gif</image>
|
972
|
+
<image size="medium">http://userserve-ak.last.fm/serve/85/169665.gif</image>
|
973
|
+
<image size="small">http://userserve-ak.last.fm/serve/50/169665.gif</image>
|
974
|
+
</artist>
|
975
|
+
<artist>
|
976
|
+
<name>The Beatles</name>
|
977
|
+
<url>http://www.last.fm/music/The+Beatles</url>
|
978
|
+
<image size="large">http://userserve-ak.last.fm/serve/160/153358.jpg</image>
|
979
|
+
<image size="medium">http://userserve-ak.last.fm/serve/85/153358.jpg</image>
|
980
|
+
<image size="small">http://userserve-ak.last.fm/serve/50/153358.jpg</image>
|
981
|
+
</artist>
|
982
|
+
</artists>
|
983
|
+
</result>
|
984
|
+
<input>
|
985
|
+
<user>
|
986
|
+
<name>jwheare</name>
|
987
|
+
<url>http://www.last.fm/user/jwheare/</url>
|
988
|
+
<image size="large">http://userserve-ak.last.fm/serve/160/857567.png</image>
|
989
|
+
<image size="medium">http://userserve-ak.last.fm/serve/85/857567.png</image>
|
990
|
+
<image size="small">http://userserve-ak.last.fm/serve/50/857567.png</image>
|
991
|
+
</user>
|
992
|
+
<myspace>
|
993
|
+
<url>http://www.myspace.com/mcscrobbler</url>
|
994
|
+
<image>http://x.myspace.com/images/clear.gif</image>
|
995
|
+
</myspace>
|
996
|
+
</input>
|
997
|
+
</comparison>
|
998
|
+
</lfm></pre></div>
|
999
|
+
|
1000
|
+
<h2>Errors</h2>
|
1001
|
+
<ul>
|
1002
|
+
<li><span class="param">2</span> : Invalid service -This service does not exist</li>
|
1003
|
+
<li><span class="param">3</span> : Invalid Method - No method with that name in this package</li>
|
1004
|
+
<li><span class="param">4</span> : Authentication Failed - You do not have permissions to access the service</li>
|
1005
|
+
<li><span class="param">5</span> : Invalid format - This service doesn't exist in that format</li>
|
1006
|
+
<li><span class="param">6</span> : Invalid parameters - Your request is missing a required parameter</li>
|
1007
|
+
<li><span class="param">7</span> : Invalid resource specified</li>
|
1008
|
+
<li><span class="param">9</span> : Invalid session key - Please re-authenticate</li>
|
1009
|
+
<li><span class="param">10</span> : Invalid API key - You must be granted a valid key by last.fm</li>
|
1010
|
+
<li><span class="param">11</span> : Service Offline - This service is temporarily offline. Try again later.</li>
|
1011
|
+
<li><span class="param">12</span> : Subscription Error - The user needs to be subscribed in order to do that</li>
|
1012
|
+
<li><span class="param">13</span> : Invalid method signature supplied</li>
|
1013
|
+
<li><span class="param">18</span> : This user has no free radio plays left. Subscription required.</li>
|
1014
|
+
</ul>
|
1015
|
+
</div>
|
1016
|
+
</div>
|
1017
|
+
</div>
|
1018
|
+
</div>
|
1019
|
+
|
1020
|
+
<div id="LastFooter">
|
1021
|
+
|
1022
|
+
<div id="footer_ads" style="display: none;" class="clearit">
|
1023
|
+
<div class="footer_ad_wrapper">
|
1024
|
+
|
1025
|
+
<!-- Adserving start -->
|
1026
|
+
|
1027
|
+
<div id="LastAd_Footer1" class="LastAd">
|
1028
|
+
<div align="center">
|
1029
|
+
<script type="text/javascript">
|
1030
|
+
if ($("footer_ads")) $("footer_ads").show();
|
1031
|
+
if(typeof writeFooter1 == 'function') writeFooter1();
|
1032
|
+
</script>
|
1033
|
+
</div>
|
1034
|
+
</div>
|
1035
|
+
<script>
|
1036
|
+
$("LastAd_Footer1").hide();
|
1037
|
+
</script>
|
1038
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
1039
|
+
|
1040
|
+
<div id="LastAd_Footer2" class="LastAd">
|
1041
|
+
<div align="center">
|
1042
|
+
<script type="text/javascript">
|
1043
|
+
if ($("footer_ads")) $("footer_ads").show();
|
1044
|
+
if(typeof writeFooter2 == 'function') writeFooter2();
|
1045
|
+
</script>
|
1046
|
+
</div>
|
1047
|
+
</div>
|
1048
|
+
<script>
|
1049
|
+
$("LastAd_Footer2").hide();
|
1050
|
+
</script>
|
1051
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
1052
|
+
|
1053
|
+
<div id="LastAd_Footer3" class="LastAd">
|
1054
|
+
<div align="center">
|
1055
|
+
<script type="text/javascript">
|
1056
|
+
if ($("footer_ads")) $("footer_ads").show();
|
1057
|
+
if(typeof writeFooter3 == 'function') writeFooter3();
|
1058
|
+
</script>
|
1059
|
+
</div>
|
1060
|
+
</div>
|
1061
|
+
<script>
|
1062
|
+
$("LastAd_Footer3").hide();
|
1063
|
+
</script>
|
1064
|
+
<!-- Adserving end --> <!-- Adserving start -->
|
1065
|
+
|
1066
|
+
<div id="LastAd_Footer4" class="LastAd last">
|
1067
|
+
<div align="center">
|
1068
|
+
<script type="text/javascript">
|
1069
|
+
if ($("footer_ads")) $("footer_ads").show();
|
1070
|
+
if(typeof writeFooter4 == 'function') writeFooter4();
|
1071
|
+
</script>
|
1072
|
+
</div>
|
1073
|
+
</div>
|
1074
|
+
<script>
|
1075
|
+
$("LastAd_Footer4").hide();
|
1076
|
+
</script>
|
1077
|
+
<!-- Adserving end -->
|
1078
|
+
</div><!-- .footer_ad_wrapper -->
|
1079
|
+
</div><!-- #footer_ads -->
|
1080
|
+
|
1081
|
+
<ul id="footerStuff" class="clearit">
|
1082
|
+
<li><div id="footerMessage">
|
1083
|
+
<h3>What’s New</h3>
|
1084
|
+
<div class="bbcode">It’s here. Welcome to the new Last.fm! <a href="http://blog.last.fm/2008/07/17/lastfm-the-next-generation">Read all about it on our blog</a>.</div>
|
1085
|
+
</div><!-- #footerMessage --></li>
|
1086
|
+
|
1087
|
+
<li><p id="uploadYourMusic">
|
1088
|
+
<strong>Do you make music? Upload it!</strong><br /><a href="/uploadmusic?accountType=artist">Artists</a> or <a href="/uploadmusic?accountType=label">Labels</a>
|
1089
|
+
</p></li>
|
1090
|
+
</ul><!-- #footerStuff -->
|
1091
|
+
|
1092
|
+
<div id="footer_content">
|
1093
|
+
<ul id="footerLinks" class="clearit">
|
1094
|
+
<li class="first">
|
1095
|
+
<dl>
|
1096
|
+
<dt>Learn About Us</dt>
|
1097
|
+
<dd><a href="/about/contact">Contact</a></dd>
|
1098
|
+
<dd><a href="/about">About Us</a></dd>
|
1099
|
+
<dd><a href="/about/team">Team</a></dd>
|
1100
|
+
<dd><a href="/about/jobs">Jobs</a></dd>
|
1101
|
+
<dd><a href="/resources">Media Kit</a></dd>
|
1102
|
+
<dd><a href="/advertise">Advertise</a></dd>
|
1103
|
+
</dl>
|
1104
|
+
</li>
|
1105
|
+
<li>
|
1106
|
+
<dl>
|
1107
|
+
<dt>Get Help</dt>
|
1108
|
+
<dd><a href="/help/faq">FAQ</a></dd>
|
1109
|
+
<dd><a href="/forum/21713">Website Support</a></dd>
|
1110
|
+
<dd><a href="/forum/34905">Scrobbler Support</a></dd>
|
1111
|
+
<dd><a href="/group/Last.fm+for+iPhone+and+iPod+Touch">iPhone Support</a></dd>
|
1112
|
+
</dl>
|
1113
|
+
</li>
|
1114
|
+
|
1115
|
+
<li>
|
1116
|
+
<dl>
|
1117
|
+
<dt>Join In</dt>
|
1118
|
+
<dd><a href="/users">Find People</a></dd>
|
1119
|
+
<dd><a href="/users/groups">Find Groups</a></dd>
|
1120
|
+
<dd><a href="/forum">Forums</a></dd>
|
1121
|
+
<dd><a href="/help/guidelines">Community Guidelines</a></dd>
|
1122
|
+
<dd><a href="/about/moderators">Moderators</a></dd>
|
1123
|
+
<dd><a href="/promotions">Contests & Promotions</a></dd>
|
1124
|
+
</dl>
|
1125
|
+
</li>
|
1126
|
+
<li class="last">
|
1127
|
+
<dl>
|
1128
|
+
<dt>Do More</dt>
|
1129
|
+
<dd><a href="/download">Last.fm Scrobbler</a></dd>
|
1130
|
+
<dd><a href="/download#content_ipod">iPod Scrobbler</a></dd>
|
1131
|
+
<dd><a href="/download#content_iphone">iPhone App</a></dd>
|
1132
|
+
<dd><a href="http://build.last.fm">More Apps</a></dd>
|
1133
|
+
<dd><a href="/music/+free-music-downloads">Free Music Downloads</a></dd>
|
1134
|
+
<dd><a href="/hardware">Hardware</a></dd>
|
1135
|
+
<dd><a href="/widgets">Widgets</a></dd> <dd><a href="/tools/charts">Chart Images</a></dd>
|
1136
|
+
<dd><a href="/subscribe">Subscribe</a></dd>
|
1137
|
+
<dd><a href="/api">API</a></dd>
|
1138
|
+
</dl>
|
1139
|
+
</li>
|
1140
|
+
</ul><!-- #footerLinks -->
|
1141
|
+
|
1142
|
+
<div id="justCantGetEnough" class="clearit">
|
1143
|
+
<blockquote>“Is that a Last.fm in your pocket, or are you just pleased to see me?”</blockquote>
|
1144
|
+
<p>
|
1145
|
+
<strong>More Last.fm Sites:</strong>
|
1146
|
+
<a href="http://blog.last.fm/">Blog</a>
|
1147
|
+
| <a href="http://musicmanager.last.fm">Music Manager</a>
|
1148
|
+
| <a href="http://build.last.fm">Build</a>
|
1149
|
+
| <a href="http://playground.last.fm">Playground</a>
|
1150
|
+
| <a href="http://www.last.fm/bestof/2008">Best of 2008</a>
|
1151
|
+
</p>
|
1152
|
+
</div>
|
1153
|
+
|
1154
|
+
<div id="legalities">
|
1155
|
+
<div id="cbsi_f">
|
1156
|
+
<form>
|
1157
|
+
<script language="javascript">
|
1158
|
+
document.write("<div><label class=\"rb_visit_txt\" for=\"cbsi_footer_menu\">Visit other Sites</label><select name=\"cbsi_footer_menu\" id=\"cbsi_footer_menu\" class=\"rb_visit_sel\"><option value=\"\">Select Site</option><option value=\"http://www.bnet.com\">BNET</option><option value=\"http://www.cbscares.com\">CBS Cares</option><option value=\"http://www.cbssports.com/cbscollegesports/\">CBS College Sports</option><option value=\"http://www.cbsradio.com/streaming/\">CBS Radio</option><option value=\"http://www.cbs.com\">CBS.com</option><option value=\"http://www.cbsnews.com\">CBSNews.com</option><option value=\"http://www.cbssports.com\">CBSSports.com</option><option value=\"http://www.chow.com\">CHOW</option><option value=\"http://www.cnet.com\">CNET</option><option value=\"http://www.cnetcontentsolutions.com\">CNET Content Solutions</option><option value=\"http://www.gamespot.com\">GameSpot</option><option value=\"http://www.cnetnetworks.com/advertise/media-kit/international.html?tag=ft\">International</option><option value=\"http://www.last.fm\">Last.fm</option><option value=\"http://www.maxpreps.com\">MaxPreps</option><option value=\"http://www.metacritic.com\">Metacritic.com</option><option value=\"http://moneywatch.bnet.com\">Moneywatch</option><option value=\"http://www.mp3.com\">MP3.com</option><option value=\"http://www.mysimon.com\">mySimon</option><option value=\"http://www.ncaa.com\">NCAA</option><option value=\"http://www.search.com\">Search.com</option><option value=\"http://www.shopper.com\">Shopper.com</option><option value=\"http://www.sho.com\">Showtime</option><option value=\"http://www.techrepublic.com\">TechRepublic</option><option value=\"http://www.theinsider.com\">The Insider</option><option value=\"http://www.tv.com\">TV.com</option><option value=\"http://www.urbanbaby.com\">UrbanBaby.com</option><option value=\"http://www.zdnet.com\">ZDNet</option></select><input type=\"button\" class=\"rb_visit_go\" value=\"Go\" onClick=\"window.location=document.getElementById('cbsi_footer_menu').options[document.getElementById('cbsi_footer_menu').selectedIndex].value;\" /></div>");
|
1159
|
+
</script>
|
1160
|
+
</form>
|
1161
|
+
<noscript>
|
1162
|
+
<a href="http://www.bnet.com">BNET</a> | <a href="http://www.cbscares.com">CBS Cares</a> | <a href="http://www.cbssports.com/cbscollegesports/">CBS College Sports</a> | <a href="http://www.cbsradio.com/streaming/">CBS Radio</a> | <a href="http://www.cbs.com">CBS.com</a> | <a href="http://www.cbsnews.com">CBSNews.com</a> | <a href="http://www.cbssports.com">CBSSports.com</a> | <a href="http://www.chow.com">CHOW</a> | <a href="http://www.cnet.com">CNET</a> | <a href="http://www.cnetcontentsolutions.com">CNET Content Solutions</a> | <a href="http://www.gamespot.com">GameSpot</a> | <a href="http://www.cnetnetworks.com/advertise/media-kit/international.html?tag=ft">International</a> | <a href="http://www.last.fm">Last.fm</a> | <a href="http://www.maxpreps.com">MaxPreps</a> | <a href="http://www.metacritic.com">Metacritic.com</a> | <a href="http://moneywatch.bnet.com">Moneywatch</a> | <a href="http://www.mp3.com">MP3.com</a> | <a href="http://www.mysimon.com">mySimon</a> | <a href="http://www.ncaa.com">NCAA</a> | <a href="http://www.search.com">Search.com</a> | <a href="http://www.shopper.com">Shopper.com</a> | <a href="http://www.sho.com">Showtime</a> | <a href="http://www.techrepublic.com">TechRepublic</a> | <a href="http://www.theinsider.com">The Insider</a> | <a href="http://www.tv.com">TV.com</a> | <a href="http://www.urbanbaby.com">UrbanBaby.com</a> | <a href="http://www.zdnet.com">ZDNet</a>
|
1163
|
+
</noscript>
|
1164
|
+
<p id="cbsi_f_pop">
|
1165
|
+
Popular on CBS sites: <a href='http://www.cnet.com/apple-iphone.html'>iPhone 3G</a> | <a href='http://fantasynews.cbssports.com/fantasyfootball'>Fantasy Football</a> | <a href='http://moneywatch.bnet.com'>Moneywatch</a> | <a href='http://download.cnet.com/windows/antivirus-software/'>Antivirus Software</a> | <a href='http://www.chow.com/recipes'>Recipes</a> | <a href='http://www.gamespot.com/pc/strategy/spore/index.html'>Spore</a><!-- cbth:100 -->
|
1166
|
+
</p>
|
1167
|
+
</div> <p id="copy">
|
1168
|
+
© 2009 Last.fm Ltd. All rights reserved. |
|
1169
|
+
<a href="/legal/terms" target="_blank">Terms of Use</a>
|
1170
|
+
and <a href="/legal/privacy" target="_blank">Privacy Policy</a> | <span class="date">Updated November 21, 2008</span><br />
|
1171
|
+
|
1172
|
+
</p>
|
1173
|
+
</div><!-- #legalities -->
|
1174
|
+
|
1175
|
+
</div>
|
1176
|
+
</div><!-- #LastFooter -->
|
1177
|
+
|
1178
|
+
<ul id="langSelector" style="display: none; visibility: hidden;" class="nojs">
|
1179
|
+
|
1180
|
+
|
1181
|
+
<li><a href="http://www.lastfm.de/api/show?service=258&setlang=de" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/de.gif" /> <span>Deutsch</span></a></li>
|
1182
|
+
<li><a href="http://www.lastfm.es/api/show?service=258&setlang=es" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/es.gif" /> <span>Español</span></a></li>
|
1183
|
+
<li><a href="http://www.lastfm.fr/api/show?service=258&setlang=fr" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/fr.gif" /> <span>Français</span></a></li>
|
1184
|
+
<li><a href="http://www.lastfm.it/api/show?service=258&setlang=it" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/it.gif" /> <span>Italiano</span></a></li>
|
1185
|
+
<li><a href="http://www.lastfm.jp/api/show?service=258&setlang=jp" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/jp.gif" /> <span>日本語</span></a></li>
|
1186
|
+
<li><a href="http://www.lastfm.pl/api/show?service=258&setlang=pl" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/pl.gif" /> <span>Polski</span></a></li>
|
1187
|
+
<li><a href="http://www.lastfm.com.br/api/show?service=258&setlang=pt" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/pt.gif" /> <span>Português</span></a></li>
|
1188
|
+
<li><a href="http://www.lastfm.ru/api/show?service=258&setlang=ru" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/ru.gif" /> <span>Руccкий</span></a></li>
|
1189
|
+
<li><a href="http://www.lastfm.se/api/show?service=258&setlang=sv" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/se.gif" /> <span>Svenska</span></a></li>
|
1190
|
+
<li><a href="http://www.lastfm.com.tr/api/show?service=258&setlang=tr" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/tr.gif" /> <span>Türkçe</span></a></li>
|
1191
|
+
<li><a href="http://cn.last.fm/api/show?service=258&setlang=zh" class="icon"><img src="http://cdn.last.fm/depth/flags/mini/zh.gif" /> <span>简体中文</span></a></li>
|
1192
|
+
|
1193
|
+
</ul>
|
1194
|
+
|
1195
|
+
<script>
|
1196
|
+
|
1197
|
+
$("langSelector").className = "js";
|
1198
|
+
LFM.set("Page", {
|
1199
|
+
navDropDown: new LFM.Display.DropDown(
|
1200
|
+
"headerLangToggle",
|
1201
|
+
"headerLangToggle",
|
1202
|
+
"langSelector",
|
1203
|
+
{
|
1204
|
+
align: "right",
|
1205
|
+
onShow: function (dropdown) {
|
1206
|
+
dropdown.ddbody.setStyle({
|
1207
|
+
top: (dropdown.ddbody.getStyle("top").toPixels() + 3) + "px"
|
1208
|
+
});
|
1209
|
+
}
|
1210
|
+
}
|
1211
|
+
)
|
1212
|
+
});
|
1213
|
+
|
1214
|
+
</script>
|
1215
|
+
<div id="multiButtonMenu" style="display: none;">
|
1216
|
+
<div>
|
1217
|
+
<ul class="lfmDropDownBody">
|
1218
|
+
<li class="mAddToLibrary"><a href="#">Add to my Library</a></li>
|
1219
|
+
<li class="mAddToFriends"><a href="#">Add to Friends</a></li>
|
1220
|
+
|
1221
|
+
<!-- <li class="save"><a href="#">Bookmark</a></li> -->
|
1222
|
+
<li class="mSend"><a href="#">Share</a></li>
|
1223
|
+
|
1224
|
+
<li class="mLove"><a href="#">Love track</a></li>
|
1225
|
+
<li class="mUnlove"><a href="#">Unlove track</a></li>
|
1226
|
+
<li class="mBan"><a href="#">Ban track from radio</a></li>
|
1227
|
+
<li class="mUnban"><a href="#">Unban track from radio</a></li>
|
1228
|
+
|
1229
|
+
|
1230
|
+
<li class="mAddTags"><a href="#">Add tags</a></li>
|
1231
|
+
<li class="mAddToPlaylist"><a href="#">Add to playlist</a></li>
|
1232
|
+
<li class="mMessage"><a href="#">Send a message</a></li>
|
1233
|
+
<li class="mEditDetails"><a href="#">Edit Details</a></li>
|
1234
|
+
<li class="mMessageAll"><a href="#">Message All Users</a></li>
|
1235
|
+
<li class="mEditPermissions"><a href="#">Edit Permissions</a></li>
|
1236
|
+
<li class="mAbdicate"><a href="#">Abdicate</a></li>
|
1237
|
+
<li class="mLeave"><a href="#">Leave Group</a></li>
|
1238
|
+
|
1239
|
+
<li class="mRemoveFromLibrary"><a href="#">Remove from your Library</a></li>
|
1240
|
+
|
1241
|
+
<li class="mLoading"><a href="#"> </a></li>
|
1242
|
+
</ul>
|
1243
|
+
</div>
|
1244
|
+
</div>
|
1245
|
+
|
1246
|
+
|
1247
|
+
<script type="text/javascript" src="http://dw.com.com/js/dw.js"></script>
|
1248
|
+
<script type="text/javascript">
|
1249
|
+
DW.pageParams = {
|
1250
|
+
siteid: '190',
|
1251
|
+
ptid: '',
|
1252
|
+
onid: ''
|
1253
|
+
};
|
1254
|
+
DW.clear();
|
1255
|
+
</script>
|
1256
|
+
<noscript>
|
1257
|
+
<img src="http://dw.com.com/clear/c.gif?ts=1242849516&sid=" />
|
1258
|
+
</noscript>
|
1259
|
+
|
1260
|
+
|
1261
|
+
<script src="http://surveys.cnet.com/html/surveys/1361.js"></script>
|
1262
|
+
|
1263
|
+
<script>
|
1264
|
+
|
1265
|
+
LFM.Button.MultiButton.setup();
|
1266
|
+
LFM.Display.setMinHeight();
|
1267
|
+
|
1268
|
+
</script>
|
1269
|
+
|
1270
|
+
</div>
|
1271
|
+
</div>
|
1272
|
+
</div>
|
1273
|
+
</body>
|
1274
|
+
</html>
|