Skip to content

Commit 6c374ca

Browse files
committed
Added two API methods to the slides
1 parent 75edbcb commit 6c374ca

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

hackdays/02-edinburgh2012.html

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,116 @@ <h3>API Example #3: radio.similartracks</h3>
258258
</script>
259259
</article>
260260

261+
<article>
262+
<h3>API — Audio Features</h3>
263+
264+
<ul>
265+
<li>We analysed very nearly all of our streamable content for certain audio features</li>
266+
267+
<li>List of features includes:</li>
268+
<ul>
269+
<li>bpm</li>
270+
<li>loudness</li>
271+
<li>key</li>
272+
<li>speed</li>
273+
<li>tuning</li>
274+
<li>gearshift<li>
275+
<li><a href="api-documentation/track.getAudioFeatures.html">etc...</a></li>
276+
</ul>
277+
</ul>
278+
</article>
279+
280+
<article>
281+
<h3>API Example #4: track.getAudioFeatures</h3>
282+
283+
<pre style='margin:20px;'>
284+
var url = API_ROOT + '?' + $.param({
285+
method: 'track.getAudioFeatures',
286+
artist: 'Deadmau5',
287+
track: 'Strobe',
288+
api_key: API_KEY,
289+
format: 'json'
290+
});
291+
$.get(url, function (r) {
292+
alert(r.audiofeatures.bpm + ' BPM');
293+
});</pre>
294+
295+
<button id="api-example4">Run</button>
296+
<script>
297+
(function ($) {
298+
$('#api-example4').click(function () {
299+
var url = API_ROOT + '?' + $.param({
300+
method: 'track.getAudioFeatures',
301+
artist: 'Deadmau5',
302+
track: 'Strobe',
303+
api_key: API_KEY,
304+
format: 'json'
305+
});
306+
307+
$.get(url, function (r) {
308+
alert(r.audiofeatures.bpm + ' BPM');
309+
});
310+
});
311+
})(jQuery);
312+
</script>
313+
</article>
314+
315+
<article>
316+
<h3>API Example #5: track.getAudioFeatures</h3>
317+
318+
<pre style='margin:20px;'>
319+
var url = API_ROOT + '?' + $.param({
320+
method: 'track.findByAudioFeatures',
321+
api_key: API_KEY,
322+
filter: ['bpm:80:90', 'percussiveness:0.5:0.6'],
323+
format: 'json'
324+
});
325+
326+
url = decodeURIComponent(url);
327+
328+
$.get(url, function (r) {
329+
var firstTrack = r.tracks.track[0];
330+
alert(firstTrack.name + ' by ' + firstTrack.artist.name);
331+
});</pre>
332+
333+
<button id="api-example5">Run</button>
334+
<script>
335+
(function ($) {
336+
$('#api-example5').click(function () {
337+
var url = API_ROOT + '?' + $.param({
338+
method: 'track.findByAudioFeatures',
339+
api_key: API_KEY,
340+
filter: ['bpm:80:90', 'percussiveness:0.5:0.6'],
341+
format: 'json'
342+
});
343+
344+
url = decodeURIComponent(url);
345+
346+
$.get(url, function (r) {
347+
var firstTrack = r.tracks.track[0];
348+
alert(firstTrack.name + ' by ' + firstTrack.artist.name);
349+
});
350+
});
351+
})(jQuery);
352+
</script>
353+
</article>
354+
355+
<article>
356+
<h3>Not-yet documented API endpoints</h3>
357+
358+
<ul>
359+
<li><a href="api-documentation/track.getAudioFeatures.html">track.getAudioFeatures.html</a>: Get Key, BPM, loudness, etc. for a given track</li>
360+
<li><a href="api-documentation/track.findByAudioFeatures.html">
361+
track.findByAudioFeatures.html
362+
</a>: Find tracks by BPM, loudness, key, etc...</li>
363+
364+
<li><a href="api-documentation/track.getPlaylinks.html">track.getPlaylinks.html</a></li>
365+
<li><a href="api-documentation/album.getPlaylinks.html">album.getPlaylinks.html</a></li>
366+
<li><a href="api-documentation/artist.getPlaylinks.html">artist.getPlaylinks.html</a></li>
367+
<li><a href="api-documentation/radio.getSimilarTracks.html">radio.getSimilarTracks.html</a></li>
368+
</ul>
369+
</article>
370+
261371
<article>
262372
<h3>Realtime API</h3>
263373

0 commit comments

Comments
 (0)