From 8e5184a8b9764acd540062e58a69ab02031e3f21 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 3 Aug 2011 14:23:35 +0200 Subject: [PATCH] correctly save the playlist if songs are removed and dont load the player outisde the media app if the playlist is empty --- apps/media/js/loader.js | 2 +- apps/media/js/player.js | 35 +++++++++++++++++++---------------- apps/media/js/playlist.js | 1 + 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/apps/media/js/loader.js b/apps/media/js/loader.js index 429ef742d1a..5fc8a7bce40 100644 --- a/apps/media/js/loader.js +++ b/apps/media/js/loader.js @@ -51,7 +51,7 @@ $(document).ready(function() { } if(typeof PlayList==='undefined'){ if(typeof localStorage !== 'undefined'){ - if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items')){ + if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items' && localStorage.getItem(oc_current_user+'oc_playlist_items')!='[]'){ loadPlayer(); } } diff --git a/apps/media/js/player.js b/apps/media/js/player.js index b6d3bc01ddb..6d585e6e094 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -142,6 +142,7 @@ var PlayList={ remove:function(index){ PlayList.items.splice(index,1); PlayList.render(); + PlayList.save(); }, render:function(){}, playing:function(){ @@ -160,24 +161,26 @@ var PlayList={ if(typeof localStorage !== 'undefined'){ if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items')){ PlayList.items=JSON.parse(localStorage.getItem(oc_current_user+'oc_playlist_items')); - PlayList.current=parseInt(localStorage.getItem(oc_current_user+'oc_playlist_current')); - var time=parseInt(localStorage.getItem(oc_current_user+'oc_playlist_time')); - if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_volume')){ - var volume=localStorage.getItem(oc_current_user+'oc_playlist_volume'); - PlayList.volume=volume/100; - $('.jp-volume-bar-value').css('width',volume+'%'); - if(PlayList.player.data('jPlayer')){ - PlayList.player.jPlayer("option",'volume',volume/100); + if(PlayList.items.length>0){ + PlayList.current=parseInt(localStorage.getItem(oc_current_user+'oc_playlist_current')); + var time=parseInt(localStorage.getItem(oc_current_user+'oc_playlist_time')); + if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_volume')){ + var volume=localStorage.getItem(oc_current_user+'oc_playlist_volume'); + PlayList.volume=volume/100; + $('.jp-volume-bar-value').css('width',volume+'%'); + if(PlayList.player.data('jPlayer')){ + PlayList.player.jPlayer("option",'volume',volume/100); + } } + if(JSON.parse(localStorage.getItem(oc_current_user+'oc_playlist_playing'))){ + PlayList.play(null,time); + }else{ + PlayList.play(null,time,function(){ + PlayList.player.jPlayer("pause"); + }); + } + PlayList.render(); } - if(JSON.parse(localStorage.getItem(oc_current_user+'oc_playlist_playing'))){ - PlayList.play(null,time); - }else{ - PlayList.play(null,time,function(){ - PlayList.player.jPlayer("pause"); - }); - } - PlayList.render(); } } } diff --git a/apps/media/js/playlist.js b/apps/media/js/playlist.js index 54fe5b792e7..a15c34f93f9 100644 --- a/apps/media/js/playlist.js +++ b/apps/media/js/playlist.js @@ -135,6 +135,7 @@ function procesSelection(){ }); PlayList.items=PlayList.items.filter(function(item){return item!==null}); PlayList.render(); + PlayList.save(); procesSelection(); }); } -- 2.39.5