From kde-commits Sun Jul 31 23:12:40 2011 From: Robin Appelman Date: Sun, 31 Jul 2011 23:12:40 +0000 To: kde-commits Subject: [owncloud] apps/media/js: persistent playlist for the media player Message-Id: <20110731231240.44E3EA60A6 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=131215401622539 Git commit 76a2f5b5476c87d330cb81a25793461554af416a by Robin Appelman. Committed on 01/08/2011 at 01:12. Pushed by rappelman into branch 'master'. persistent playlist for the media player M +22 -1 apps/media/js/player.js M +5 -0 apps/media/js/files.js M +1 -0 apps/media/js/music.js http://commits.kde.org/owncloud/76a2f5b5476c87d330cb81a25793461554af416a diff --git a/apps/media/js/files.js b/apps/media/js/files.js index 307c601..79741e1 100644 --- a/apps/media/js/files.js +++ b/apps/media/js/files.js @@ -47,4 +47,9 @@ $(document).ready(function() { FileActions.register('application/ogg','','Play',playAudio); FileActions.setDefault('audio','Play'); FileActions.setDefault('application/ogg','Play'); + if(typeof localStorage !== 'undefined'){ + if(localStorage.hasOwnProperty('oc_playlist_items')){ + loadPlayer(); + } + } }); \ No newline at end of file diff --git a/apps/media/js/music.js b/apps/media/js/music.js index 3dee877..90b5a09 100644 --- a/apps/media/js/music.js +++ b/apps/media/js/music.js @@ -41,6 +41,7 @@ $(document).ready(function(){ }); row.find('div.name').append(button); } + PlayList.init(); }); diff --git a/apps/media/js/player.js b/apps/media/js/player.js index 1243f20..d79d613 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -33,11 +33,13 @@ var PlayList={ PlayList.player.jPlayer("setMedia", PlayList.items[PlayList.current]); PlayList.items[index].playcount++; PlayList.player.jPlayer("play"); - if(Collection){ + if (typeof Collection !== 'undefined') { Collection.registerPlay(); } } }else{ + localStorage.setItem('oc_playlist_current',PlayList.current); + localStorage.setItem('oc_playlist_playing','true'); PlayList.init(PlayList.items[index].type,PlayList.play); } } @@ -62,6 +64,7 @@ var PlayList={ ended:PlayList.next, supplied:type, ready:function(){ + PlayList.load(); if(ready){ ready(); } @@ -93,6 +96,7 @@ var PlayList={ item[type]=PlayList.urlBase+encodeURIComponent(song.song_path); PlayList.items.push(item); } + PlayList.save(); }, addFile:function(path){ var type=musicTypeFromFile(path); @@ -116,5 +120,22 @@ var PlayList={ }else{ return !PlayList.player.data("jPlayer").status.paused; } + }, + save:function(){ + if(typeof localStorage !== 'undefined'){ + localStorage.setItem('oc_playlist_items',JSON.stringify(PlayList.items)); + } + }, + load:function(){ + if(typeof localStorage !== 'undefined'){ + if(localStorage.hasOwnProperty('oc_playlist_items')){ + PlayList.items=JSON.parse(localStorage.getItem('oc_playlist_items')); + PlayList.current=parseInt((localStorage.getItem('oc_playlist_current'))); + if(JSON.parse(localStorage.getItem('oc_playlist_playing'))){ + PlayList.play(); + } + PlayList.render(); + } + } } }