| 
					
				 | 
			
			
				@@ -12,6 +12,9 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var songsArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var ytArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var _sound = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var parts = location.href.split('/'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var id = parts.pop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var type = id.toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Template.register.events({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "submit form": function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             e.preventDefault(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -132,9 +135,9 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     title: ytArr[i].title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     type: "youtube" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  Meteor.call("addToPlaylist", songObj, function(err,res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  /*Meteor.call("addToPlaylist", songObj, function(err,res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     console.log(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  })*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -161,9 +164,9 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             console.log(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Meteor.call("addToPlaylist", songObj, function(err,res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /*Meteor.call("addToPlaylist", songObj, function(err,res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // if (_sound !== undefined)_sound.stop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // SC.stream("/tracks/" + id, function(sound){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //   _sound = sound; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -191,8 +194,12 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Template.playlist.helpers({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         playlist_songs: function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.log(Playlists.find({type: "edm"}).fetch()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return Playlists.find({type: "edm"}).fetch()[0].songs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var data = Playlists.find({type: type}).fetch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (data !== undefined && data.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return data[0].songs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -224,13 +231,11 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             applicationType: "application/json", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             contentType: "json", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             success: function(data){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              console.log(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               for(var i in data){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   Session.set("title", data[i].items[0].name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if(type === "youtube"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Session.set("duration", data[i].items[0].duration_ms / 1000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  Meteor.call("setDuration", Session.get("duration")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   temp = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   if(data[i].items[0].artists.length >= 2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     for(var j in data[i].items[0].artists){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -317,15 +322,21 @@ if (Meteor.isClient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Meteor.subscribe("history"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Meteor.subscribe("playlists"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var room_types = ["edm", "nightcore"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (room_types.indexOf(type) === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            window.location = "/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Meteor.setInterval(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var data = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var dataCursor = History.find({type: "edm"}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var dataCursor = History.find({type: type}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dataCursor.map(function(doc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (data === undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     data = doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (data.history.length > size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (data !== undefined && data.history.length > size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 currentSong = data.history[data.history.length-1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 size = data.history.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 startSong(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -346,39 +357,52 @@ if (Meteor.isServer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (Playlists.find({type: "edm"}).fetch().length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Playlists.insert({type: "edm", songs: [{id: "aE2GCa-_nyU", title: "Radioactive - Lindsey Stirling and Pentatonix", duration: 264, type: "youtube"}, {id: "aHjpOzsQ9YI", title: "Crystallize", artist: "Linsdey Stirling", duration: 300, type: "youtube"}]}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var duration = 226440; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.users.deny({update: function () { return true; }}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.users.deny({insert: function () { return true; }}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.users.deny({remove: function () { return true; }}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var startedAt = Date.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var songs = Playlists.find({type: "edm"}).fetch()[0].songs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    var currentSong = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    addToHistory(songs[currentSong], startedAt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var room_types = ["edm", "nightcore"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function addToHistory(song, startedAt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        History.update({type: "edm"}, {$push: {history: {song: song, started: startedAt}}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    room_types.forEach(function(type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (Playlists.find({type: type}).fetch().length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (type === "edm") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Playlists.insert({type: type, songs: [{id: "aE2GCa-_nyU", title: "Radioactive - Lindsey Stirling and Pentatonix", duration: 226, type: "youtube"}, {id: "aHjpOzsQ9YI", title: "Crystallize", artist: "Linsdey Stirling", duration: 300, type: "youtube"}]}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else if (type === "nightcore") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Playlists.insert({type: type, songs: [{"id": "7vQRbHY9CAU", "title": "Meg & Dia - Monster (DotEXE Remix)", "duration": 183, "type": "youtube"}]}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (History.find({type: type}).fetch().length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            History.insert({type: type, history: []}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function skipSong() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (currentSong < (songs.length - 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            currentSong++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else currentSong = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        songTimer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var startedAt = Date.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var songs = Playlists.find({type: type}).fetch()[0].songs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var currentSong = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         addToHistory(songs[currentSong], startedAt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function songTimer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        startedAt = Date.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Meteor.setTimeout(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            skipSong(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, duration); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function addToHistory(song, startedAt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            History.update({type: type}, {$push: {history: {song: song, started: startedAt}}}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function skipSong() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (currentSong < (songs.length - 1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                currentSong++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else currentSong = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            songTimer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            addToHistory(songs[currentSong], startedAt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function songTimer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            startedAt = Date.now(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Meteor.setTimeout(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                skipSong(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, songs[currentSong].duration * 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        songTimer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ServiceConfiguration.configurations.remove({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         service: "facebook" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -400,14 +424,12 @@ if (Meteor.isServer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         secret: "375939d001ef1a0ca67c11dbf8fb9aeaa551e01b" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    songTimer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.publish("history", function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return History.find({type: "edm"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return History.find({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.publish("playlists", function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return Playlists.find({type: "edm"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Playlists.find({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Meteor.methods({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -425,14 +447,6 @@ if (Meteor.isServer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        addToPlaylist: function(songObj){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          songs.push(songObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return songs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setDuration: function(d){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          duration = d * 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          console.log(duration); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |