summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2012-03-06 21:58:56 +0100
committerJon Bergli Heier <snakebite@jvnv.net>2012-03-06 21:58:56 +0100
commit675a2b12a2bfb4e7d1948f68f034d2fb3a7f9424 (patch)
treea68637eafba8aa466e7910daf8e06f81337edb1a /static
parent9e5cafbde816d6c3535fa7d3cc97a3f9c0fe265a (diff)
Added hints to tell the server which track we want next.
This lets the server recode the next track behind the scenes while we're listening to the current track.
Diffstat (limited to 'static')
-rw-r--r--static/playlist.js8
-rw-r--r--static/sound.js8
2 files changed, 16 insertions, 0 deletions
diff --git a/static/playlist.js b/static/playlist.js
index 6f57075..b94de61 100644
--- a/static/playlist.js
+++ b/static/playlist.js
@@ -39,6 +39,9 @@ $(function(){
item.id = this.current_id;
this.current_id++;
var model = items.create(item);
+ if(items.indexOf(model) < 2) {
+ sound_hint(model);
+ }
},
addOne: function(item) {
var view = new PlaylistItemView({model: item});
@@ -60,6 +63,11 @@ $(function(){
items.remove(item);
this.render();
return next;
+ },
+ hintnext: function() {
+ var next = items.at(1);
+ if(next)
+ sound_hint(next);
}
});
diff --git a/static/sound.js b/static/sound.js
index 874c213..c4f2dbf 100644
--- a/static/sound.js
+++ b/static/sound.js
@@ -1,4 +1,5 @@
function playsound(model) {
+ playlist.hintnext();
var item = model.toJSON();
var id = item.track_id;
var cid = model.cid;
@@ -51,3 +52,10 @@ function playsound(model) {
sound.play();
$('#cid-' + cid).addClass('playing');
}
+
+function sound_hint(model) {
+ $('#cid-' + model.cid).addClass('loading');
+ $.get('/json/hint/' + model.attributes.track_id, function(data) {
+ $('#cid-' + model.cid).removeClass('nocache').removeClass('loading');
+ });
+}