From 33662e9f723e102292160110d06aa2e876f8ba48 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sun, 24 Jul 2011 16:22:44 +0100 Subject: [PATCH] hopefully fix addChunk / 4 --- server/djrandom/frontend/static/player.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/server/djrandom/frontend/static/player.js b/server/djrandom/frontend/static/player.js index 09fa4bf..31b1dcc 100644 --- a/server/djrandom/frontend/static/player.js +++ b/server/djrandom/frontend/static/player.js @@ -117,7 +117,7 @@ djr.Playlist.prototype.addChunk = function(playlist_chunk) { var songs = [], i; for (i = 0; i < playlist_chunk.songs.length; i++) { var song = playlist_chunk.songs[i]; - if (this.song_map[song]) { + if (this.song_map[song] != null) { continue; } songs.push(song); @@ -133,6 +133,11 @@ djr.Playlist.prototype.addChunk = function(playlist_chunk) { } }; +// Return the songs for a specific chunk. +djr.Playlist.prototype.getChunkSongs = function(chunk_id) { + return this.chunk_map[chunk_id].songs; +}; + // Remove a chunk (by ID). djr.Playlist.prototype.removeChunk = function(chunk_id) { djr.debug('removing chunk ' + chunk_id); @@ -221,7 +226,12 @@ djr.Player.prototype.search = function(query) { } var chunk_id = player.playlist.addChunk(new djr.PlaylistChunk(songs)); - djr.debug('search: new chunk ' + chunk_id); + if (chunk_id < 0) { + djr.debug('All the results are already in the playlist.'); + return; + } + songs = player.playlist.getChunkSongs(chunk_id); + djr.debug('search: new chunk ' + chunk_id + ', ' + songs.length + ' songs'); player.backend.getHtmlForSongs(songs, function(songs_html) { var chunk_div = 'chunk_' + chunk_id; -- GitLab