From 5a26640f638a1b259e6b9e1b580b1810e1efd015 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 12 Aug 2011 12:34:02 +0200 Subject: [PATCH] partly fix media player --- apps/media/js/collection.js | 12 +++++----- apps/media/js/player.js | 48 ++++++++++++++++++++++++------------- 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/apps/media/js/collection.js b/apps/media/js/collection.js index e49024973f..95398f8397 100644 --- a/apps/media/js/collection.js +++ b/apps/media/js/collection.js @@ -60,14 +60,14 @@ Collection={ tr.find('td.title a').text(song.song_name); tr.find('td.title a').click(function(event){ event.preventDefault(); - PlayList.add(song); - PlayList.render(); + PlayList.add(song,true); + PlayList.play(0); }); if(artist.artist_name!=lastArtist){ tr.find('td.artist a').click(function(event){ event.preventDefault(); - PlayList.add(artist); - PlayList.render(); + PlayList.add(artist,true); + PlayList.play(0); }); tr.find('td.artist a').text(artist.artist_name); if(artist.albums.length>1){ @@ -87,8 +87,8 @@ Collection={ if(album.album_name!=lastAlbum){ tr.find('td.album a').click(function(event){ event.preventDefault(); - PlayList.add(album); - PlayList.render(); + PlayList.add(album,true); + PlayList.play(0); }); tr.find('td.album a').text(album.album_name); if(album.songs.length>1){ diff --git a/apps/media/js/player.js b/apps/media/js/player.js index 8298db56e6..d37196a89f 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -5,48 +5,53 @@ var PlayList={ player:null, volume:0.8, active:false, + tempPlaylist:[], + isTemp:true, next:function(){ + var items=(PlayList.isTemp)?PlayList.tempPlaylist:PlayList.items; var next=PlayList.current+1; - if(next>=PlayList.items.length){ + if(next>=items.length){ next=0; } PlayList.play(next); PlayList.render(); }, previous:function(){ + var items=(PlayList.isTemp)?PlayList.tempPlaylist:PlayList.items; var next=PlayList.current-1; if(next<0){ - next=PlayList.items.length-1; + next=items.length-1; } PlayList.play(next); PlayList.render(); }, play:function(index,time,ready){ + var items=(PlayList.isTemp)?PlayList.tempPlaylist:PlayList.items; if(index==null){ index=PlayList.current; } - if(index>-1 && index-1 && index0){ var previous=index-1; }else{ - var previous=PlayList.items.length-1; + var previous=items.length-1; } - if(index+1