[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [owncloud] apps/media/js: persistent playlist for the media player
From: Robin Appelman <icewind1991 () gmail ! com>
Date: 2011-07-31 23:12:40
Message-ID: 20110731231240.44E3EA60A6 () git ! kde ! org
[Download RAW message or body]
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();
+ }
+ }
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic