]> source.dussan.org Git - nextcloud-server.git/commitdiff
only load the music player outside the media app if the media app isnt already open...
authorRobin Appelman <icewind1991@gmail.com>
Wed, 3 Aug 2011 23:19:21 +0000 (01:19 +0200)
committerRobin Appelman <icewind1991@gmail.com>
Wed, 3 Aug 2011 23:19:21 +0000 (01:19 +0200)
apps/media/js/loader.js
apps/media/js/player.js

index 06449abf521ba61b19ce4f90e12003292edba7fb..c49d90cf3eba02430327a51fc71d6bb1bd78a44e 100644 (file)
@@ -51,7 +51,7 @@ $(document).ready(function() {
        }
        if(typeof PlayList==='undefined'){
                if(typeof localStorage !== 'undefined'){
-                       if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items') && localStorage.getItem(oc_current_user+'oc_playlist_items')!='[]'){
+                       if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items') && localStorage.getItem(oc_current_user+'oc_playlist_items')!='[]' && localStorage.getItem(oc_current_user+'oc_playlist_active')!='true'){
                                loadPlayer();
                        }
                }
index 6d585e6e09448db8eed885271c87ca78c78fc58b..ec22b0eaf97eec1416f440dd13744fa884897e60 100644 (file)
@@ -4,6 +4,7 @@ var PlayList={
        items:[],
        player:null,
        volume:0.8,
+       active:false,
        next:function(){
                var next=PlayList.current+1;
                if(next>=PlayList.items.length){
@@ -34,7 +35,6 @@ var PlayList={
                                        PlayList.player.jPlayer("setMedia", PlayList.items[PlayList.current]);
                                        PlayList.items[index].playcount++;
                                        PlayList.player.jPlayer("play",time);
-                                       localStorage.setItem(oc_current_user+'oc_playlist_current',index);
                                        if(index>0){
                                                var previous=index-1;
                                        }else{
@@ -83,14 +83,6 @@ var PlayList={
                        play:function(){
                                localStorage.setItem(oc_current_user+'oc_playlist_playing','true');
                        },
-                       timeupdate:function(){
-                               var time=Math.round(PlayList.player.data('jPlayer').status.currentTime);
-                               localStorage.setItem(oc_current_user+'oc_playlist_time',time);
-                       },
-                       volumechange:function(){
-                               var volume=PlayList.player.data('jPlayer').options.volume*100;
-                               localStorage.setItem(oc_current_user+'oc_playlist_volume',volume);
-                       },
                        supplied:type,
                        ready:function(){
                                PlayList.load();
@@ -126,7 +118,6 @@ var PlayList={
                        item[type]=PlayList.urlBase+encodeURIComponent(song.song_path);
                        PlayList.items.push(item);
                }
-               PlayList.save();
        },
        addFile:function(path){
                var type=musicTypeFromFile(path);
@@ -142,7 +133,6 @@ var PlayList={
        remove:function(index){
                PlayList.items.splice(index,1);
                PlayList.render();
-               PlayList.save();
        },
        render:function(){},
        playing:function(){
@@ -155,10 +145,20 @@ var PlayList={
        save:function(){
                if(typeof localStorage !== 'undefined'){
                        localStorage.setItem(oc_current_user+'oc_playlist_items',JSON.stringify(PlayList.items));
+                       localStorage.setItem(oc_current_user+'oc_playlist_current',PlayList.current);
+                       var time=Math.round(PlayList.player.data('jPlayer').status.currentTime);
+                       localStorage.setItem(oc_current_user+'oc_playlist_time',time);
+                       var volume=PlayList.player.data('jPlayer').options.volume*100;
+                       localStorage.setItem(oc_current_user+'oc_playlist_volume',volume);
+                       if(PlayList.active){
+                               localStorage.setItem(oc_current_user+'oc_playlist_active','false');
+                       }
                }
        },
        load:function(){
                if(typeof localStorage !== 'undefined'){
+                       PlayList.active=true;
+                       localStorage.setItem(oc_current_user+'oc_playlist_active','true');
                        if(localStorage.hasOwnProperty(oc_current_user+'oc_playlist_items')){
                                PlayList.items=JSON.parse(localStorage.getItem(oc_current_user+'oc_playlist_items'));
                                if(PlayList.items.length>0){
@@ -185,3 +185,9 @@ var PlayList={
                }
        }
 }
+
+$(document).ready(function(){
+       $(window).bind('beforeunload', function (){
+               PlayList.save();
+       });
+})