diff options
author | Robin Appelman <icewind1991@gmail.com> | 2011-07-29 23:53:22 +0200 |
---|---|---|
committer | Robin Appelman <icewind1991@gmail.com> | 2011-07-29 23:55:54 +0200 |
commit | 94e25ecb0c2dcd895fb080b3b2cf296d58676e17 (patch) | |
tree | 509057b6d0e6264c610279c38a24268e6e49abc5 /apps/media/js/player.js | |
parent | bafd684eb694ed0bd86b46ff7cd36382c1cebc34 (diff) | |
download | nextcloud-server-94e25ecb0c2dcd895fb080b3b2cf296d58676e17.tar.gz nextcloud-server-94e25ecb0c2dcd895fb080b3b2cf296d58676e17.zip |
Some much needed interface work on the media player
Diffstat (limited to 'apps/media/js/player.js')
-rw-r--r-- | apps/media/js/player.js | 39 |
1 files changed, 11 insertions, 28 deletions
diff --git a/apps/media/js/player.js b/apps/media/js/player.js index f76628110a8..7beb01b6013 100644 --- a/apps/media/js/player.js +++ b/apps/media/js/player.js @@ -3,13 +3,13 @@ var PlayList={ current:-1, items:[], player:null, - parent:null, next:function(){ var next=PlayList.current+1; if(next>=PlayList.items.length){ next=0; } PlayList.play(next); + PlayList.render(); }, previous:function(){ var next=PlayList.current-1; @@ -17,6 +17,7 @@ var PlayList={ next=PlayList.items.length-1; } PlayList.play(next); + PlayList.render(); }, play:function(index){ if(index==null){ @@ -66,6 +67,9 @@ var PlayList={ }); }, add:function(song){ + if(!song){ + return; + } if(song.substr){//we are passed a string, asume it's a url to a song PlayList.addFile(song); } @@ -81,7 +85,7 @@ var PlayList={ } if(song.song_name){ var type=musicTypeFromFile(song.song_path); - var item={name:song.song_name,type:type,artist:song.artist_name,album:song.album_name}; + var item={name:song.song_name,type:type,artist:song.artist_name,album:song.album_name,length:song.song_length,playcount:song.song_playcount}; item[type]=PlayList.urlBase+encodeURIComponent(song.song_path); PlayList.items.push(item); } @@ -92,30 +96,9 @@ var PlayList={ item[type]=PlayList.urlBase+encodeURIComponent(path); PlayList.items.push(item); }, - render:function(parent){//parent should be an ul element - if(parent){ - PlayList.parent=parent; - }else{ - parent=PlayList.parent; - } - if(parent){ - parent.empty(); - for(var i=0;i<PlayList.items.length;i++){ - var song=PlayList.items[i]; - var item=$('<li>'+song.artist+' - '+song.album+' - '+song.name+'</li>'); - item.data('artist',song.artist); - item.data('album',song.album); - item.data('name',song.name); - item.data('index',i); - item.click(function(){ - PlayList.play($(this).data('index')); - PlayList.render(); - }); - if(i==PlayList.current){ - item.addClass('current'); - } - parent.append(item); - } - } - } + remove:function(index){ + PlayList.items.splice(index,1); + PlayList.render(); + }, + render:function(){} } |