").parent().html()),$("#main-row").append("
"),$("#player").removeClass("player_bottom"),$("#main-row").removeClass("frontpage_modified_heights"),$("#main_section_frontpage").remove(),$("#closePlayer").remove(),$("#player_bottom_overlay").remove()}$("#search").attr("placeholder","Find song on YouTube..."),$(".page-footer").addClass("padding-bottom-novideo"),1==$("#alreadychannel").length?e():(Pe=!0,e()),0===$("#alreadyfp").length&&$("head").append("
")}})}};String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)};var Oe={loaded:!0,before_load:"",after_load:"",player:"",stopInterval:!1,youtube_listener:function(e){Oe.loaded=!1,E.log("--------youtube_listener--------"),E.log("Received: "),E.log(e),E.log("paused variable: "+W),E.log("mobile_beginning variable: "+ve);try{E.log("getVideoUrl(): "+Oe.player.getVideoUrl().split("v=")[1])}catch(e){}if(E.log("video_id variable: "+Ie),E.log("---------------------------------"),0===e.length){document.getElementById("song-title").innerHTML="Empty channel. Add some songs!",$("#player_overlay").height($("#player").height()),window.MSStream||$("#player_overlay").toggleClass("hide");try{Oe.player.stopVideo()}catch(e){}}else{void 0===Be?Be=e.np[0].id:Be!=Ie&&(Be=Ie),Ie=e.np[0].id,q=e.conf[0],time=e.time,xe=time-q.startTime,Ee=e.np[0].title,duration=e.np[0].duration,ve&&E.mobilecheck()&&0===xe&&(xe=1);try{we[0].id==Ie&&L.song_change(we[0].added),Ye.fetchYoutubeSuggests(Ie)}catch(e){}if(Oe.getTitle(Ee,G),Oe.setBGimage(Ie),J&&!window.MSStream)try{Oe.player.getVideoUrl().split("v=")[1]!=Ie&&(Oe.player.loadVideoById(Ie),Oe.notifyUser(Ie,Ee),Oe.player.seekTo(xe),W&&Oe.player.pauseVideo()),W||(ve||Oe.player.playVideo(),ae||Oe.durationSetter()),(Oe.player.getDuration()>xe||0===Oe.player.getDuration())&&Oe.player.seekTo(xe),Oe.after_load=Ie,Oe.loaded||setTimeout(function(){Oe.loaded=!0},500)}catch(e){ae||Oe.durationSetter()}else Oe.getTitle(Ee,G)}},onPlayerStateChange:function(e){E.log("-------onPlayerStateChange------"),E.log("New state\nState: "),E.log(e);try{E.log("Duration: "+Oe.player.getDuration(),"Current time: "+Oe.player.getCurrentTime()),E.log("getVideoUrl(): "+Oe.player.getVideoUrl().split("v=")[1])}catch(e){}switch(E.log("video_id variable: "+Ie),E.log("---------------------------------"),e.data){case-1:break;case 0:Z=!1,W=!1,Le.emit("end",{id:Ie,channel:M.toLowerCase()});break;case 1:Z=!0,beginning&&E.mobilecheck()&&(Oe.player.pauseVideo(),beginning=!1,ve=!1),oe||"/"==window.location.pathname||E.addClass("#player_overlay","hide"),"/"!=window.location.pathname&&(1==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide"),2==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide")),W&&(Le.emit("pos",{channel:M.toLowerCase()}),W=!1);break;case 2:W=!0,"/"!=window.location.pathname&&Re.play_pause_show(),ve=!0;break;case 3:}},getTitle:function(e,t){var o=t>1?"viewers":"viewer",n=decodeURIComponent(e);if("/"!=window.location.pathname){var a=document.getElementById("song-title"),i=document.getElementById("viewers");a.innerHTML=n,i.innerHTML=t+" "+o,a.title=n}document.title=n+" • Zöff / "+M},errorHandler:function(e){5==e.data||100==e.data||101==e.data||150==e.data?(curr_playing=Oe.player.getVideoUrl().replace("https://www.youtube.com/watch?v=",""),Le.emit("skip",{error:e.data,id:Ie,pass:U,channel:M.toLowerCase})):void 0!==Ie&&Oe.player.loadVideoById(Ie)},onPlayerReady:function(e){$("#channel-load").css("display","none");try{beginning=!0,J=!0,window.MSStream||($("#player").css("opacity","1"),$("#controls").css("opacity","1"),$(".playlist").css("opacity","1"),Oe.player.loadVideoById(Ie),ne&&!E.mobilecheck()&&Oe.player.playVideo(),ae||Oe.durationSetter(),oe?setTimeout(function(){Oe.player.seekTo(xe),ne||(Oe.player.pauseVideo(),Re.play_pause_show())},1e3):Oe.player.seekTo(xe)),Oe.readyLooks(),Re.initYoutubeControls(Oe.player),Re.initSlider(),Oe.player.setVolume(T.get_volume()),$(".video-container").removeClass("no-opacity")}catch(e){}},readyLooks:function(){Oe.setBGimage(Ie)},setBGimage:function(e){if(void 0!==e&&!oe){var t=new Image;t.onload=function(){var e=new ColorThief,o=e.getColor(t);"/"!=window.location.pathname&&(document.getElementsByTagName("body")[0].style.backgroundColor=E.rgbToHsl(o,!0),$("meta[name=theme-color]").attr("content",E.rgbToHex(o[0],o[1],o[2])))},t.crossOrigin="Anonymous",t.src="https://zoff.no:8080/https://img.youtube.com/vi/"+e+"/mqdefault.jpg"}},set_width:function(e){$(".video-container").width(e)},notifyUser:function(e,t){if(t=t.replace(/\\\'/g,"'").replace(/"/g,"'").replace(/&/g,"&"),"granted"===Notification.permission&&document.hidden){var o=new Notification("Now Playing",{body:t,icon:"http://i.ytimg.com/vi/"+e+"/mqdefault.jpg",iconUrl:"http://i.ytimg.com/vi/"+e+"/mqdefault.jpg"});o.onclick=function(e){window.focus(),this.cancel()},setTimeout(function(){o.close()},5e3)}},setup_all_listeners:function(){n(),o(),s(),l(),c()},onYouTubeIframeAPIReady:function(){Oe.player=new YT.Player("player",{videoId:Ie,playerVars:{rel:"0",wmode:"transparent",controls:"0",iv_load_policy:"3",theme:"light",color:"white",showinfo:0},events:{onReady:Oe.onPlayerReady,onStateChange:Oe.onPlayerStateChange,onError:Oe.errorHandler}})},durationSetter:function(){if(void 0!==duration)try{Oe.stopInterval||(ae=!0),dMinutes=Math.floor(duration/60),dSeconds=duration-60*dMinutes,currDurr=void 0!==Oe.player.getCurrentTime()?Math.floor(Oe.player.getCurrentTime()):xe,currDurr>duration&&(currDurr=duration),minutes=Math.floor(currDurr/60),seconds=currDurr-60*minutes,document.getElementById("duration").innerHTML=E.pad(minutes)+":"+E.pad(seconds)+"
/ "+E.pad(dMinutes)+":"+E.pad(dSeconds),per=100/duration*currDurr,per>=100?per=100:0===duration&&(per=0),$("#bar").width(per+"%")}catch(e){}Oe.stopInterval||setTimeout(Oe.durationSetter,1e3)},loadPlayer:function(){if(1==$("script[src='https://www.youtube.com/iframe_api']").length)try{Oe.onYouTubeIframeAPIReady()}catch(e){console.error("Seems YouTube iFrame script isn't correctly loaded. Please reload the page.")}else ke=document.createElement("script"),ke.src="https://www.youtube.com/iframe_api",Ce=document.getElementsByTagName("script")[0],Ce.parentNode.insertBefore(ke,Ce)}},Re={stopInterval:!1,initYoutubeControls:function(){!E.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||$("#controls").appendTo("#playbar"),Re.initControls()},initControls:function(){document.getElementById("volume-button").addEventListener("click",Re.mute_video),document.getElementById("playpause").addEventListener("click",Re.play_pause),document.getElementById("fullscreen").addEventListener("click",Re.fullscreen)},initSlider:function(){try{vol=T.get_volume()}catch(e){}$("#volume").slider({min:0,max:100,value:vol,range:"min",animate:!0,slide:function(e,t){Re.setVolume(t.value);try{T.set_volume(t.value)}catch(e){}}}),Re.choose_button(vol,!1)},fullscreen:function(){var e=document.getElementById("player"),t=e.requestFullScreen||e.mozRequestFullScreen||e.webkitRequestFullScreen;t&&t.bind(e)()},play_pause:function(){1==Oe.player.getPlayerState()?(Oe.player.pauseVideo(),!E.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||(document.getElementById("player").style.display="none",$(".video-container").toggleClass("click-through"),$(".page-footer").toggleClass("padding-bottom-extra"))):2!=Oe.player.getPlayerState()&&0!==Oe.player.getPlayerState()||(Oe.player.playVideo(),!E.mobilecheck()||/iPad|iPhone|iPod/.test(navigator.userAgent)||window.MSStream||(document.getElementById("player").style.display="block",$(".video-container").toggleClass("click-through"),$(".page-footer").toggleClass("padding-bottom-extra")))},play_pause_show:function(){1==document.getElementById("pause").className.split(" ").length&&$("#pause").toggleClass("hide"),2==document.getElementById("play").className.split(" ").length&&$("#play").toggleClass("hide")},settings:function(){$("#qS").toggleClass("hide")},changeQuality:function(e){Oe.player.getPlaybackQuality!=e&&(Oe.player.setPlaybackQuality(e),Oe.player.getPlaybackQuality()),$("#qS").toggleClass("hide")},mute_video:function(){Oe.player.isMuted()?(Oe.player.unMute(),Re.choose_button(Oe.player.getVolume(),!1)):(Re.choose_button(0,!0),Oe.player.mute())},setVolume:function(e){Oe.player.setVolume(e),Re.choose_button(e,!1),Oe.player.isMuted()&&Oe.player.unMute()},choose_button:function(e,t){t?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),2==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):e>=0&&e<=33?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),2==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):e>=34&&e<=66?(1==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),2==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide")):e>=67&&e<=100&&(2==document.getElementById("v-full").className.split(" ").length&&$("#v-full").toggleClass("hide"),1==document.getElementById("v-medium").className.split(" ").length&&$("#v-medium").toggleClass("hide"),1==document.getElementById("v-low").className.split(" ").length&&$("#v-low").toggleClass("hide"),1==document.getElementById("v-mute").className.split(" ").length&&$("#v-mute").toggleClass("hide"))},playPause:function(){state=Oe.player.getPlayerState(),button=document.getElementById("playpause"),1==state?Oe.player.pauseVideo():2==state&&Oe.player.playVideo()},volumeOptions:function(){Oe.player.isMuted()?(Oe.player.unMute(),vol=Oe.player.getVolume(),$("#volume").slider("value",Oe.player.getVolume())):(Oe.player.mute(),$("#volume").slider("value",0))},hoverMute:function(e){vol=Oe.player.getVolume()}},qe={submitArray:[],submitArrayExpected:null,showSearch:function(){$("#search-wrapper").toggleClass("hide"),E.mobilecheck()&&$(".search_input").focus(),$("#song-title").toggleClass("hide"),$("#results").toggleClass("hide"),$("#results").empty(),$("#search-btn i").toggleClass("mdi-navigation-close"),$("#search-btn i").toggleClass("mdi-action-search"),$("#search").focus()},search:function(e){if(void 0!==fe&&void 0!==ye||(fe=$("#temp-results-container"),ye=$("#empty-results-container").html()),$(".search_results").html(""),""!==e){O=!0;var t=encodeURIComponent(e),o="https://www.googleapis.com/youtube/v3/search?key="+V+"&videoEmbeddable=true&part=id&fields=items(id)&type=video&order=viewCount&safeSearch=none&maxResults=25";o+="&q="+t,Y&&(o+="&videoCategoryId=10");var n="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+V+"&id=";E.contains($("#search_loader").attr("class").split(" "),"hide")&&$("#search_loader").removeClass("hide"),E.contains($("#results").attr("class").split(" "),"hide")&&$("#results").removeClass("hide"),$.ajax({type:"GET",url:o,dataType:"jsonp",success:function(e){0===e.items.length?($("
"+ye+"
").appendTo($("#results")).show("blind",83.33),E.contains($("#search_loader").attr("class").split(" "),"hide")||$("#search_loader").addClass("hide")):e.items&&($.each(e.items,function(e,t){n+=t.id.videoId+","}),$.ajax({type:"GET",url:n,dataType:"jsonp",success:function(e){var t="",o=$(fe);$.each(e.items,function(e,n){var a=n.contentDetails.duration;if(secs=qe.durationToSeconds(a),!longsongs||secs<720){Se=n.snippet.title,enc_title=Se,be=n.id,a=a.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"),thumb=n.snippet.thumbnails.medium.url;var i=o;i.find(".search-title").text(Se),i.find(".result_info").text(a),i.find(".thumb").attr("data-original",thumb),i.find("#add-many").attr("data-video-id",be),i.find("#add-many").attr("data-video-title",enc_title),i.find("#add-many").attr("data-video-length",secs),i.find("#temp-results").attr("data-video-id",be),i.find("#temp-results").attr("data-video-title",enc_title),i.find("#temp-results").attr("data-video-length",secs),t+=i.html()}}),$("
"+t+"
").appendTo($("#results")).show("blind",83.33*(e.items.length-1)),setTimeout(function(){$(".thumb").lazyload({container:$("#results")})},250),E.contains($("#search_loader").attr("class").split(" "),"hide")||$("#search_loader").addClass("hide"),$(".add-many").click(function(e){return e.preventDefault(),e.stopPropagation(),!1})}}))}})}else $(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},backgroundSearch:function(e,t,o,n,a){var i=encodeURIComponent(e+" "+t),s="https://www.googleapis.com/youtube/v3/search?key="+V+"&videoEmbeddable=true&part=id,snippet&fields=items(id,snippet)&type=video&order=relevance&safeSearch=none&maxResults=10";s+="&q="+i;var l="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+V+"&id=";t=t.split(" ");var r=e.split("-");r=r.join(" ").split(" "),$.ajax({type:"GET",url:s,dataType:"jsonp",success:function(a){if(0===a.items.length){qe.readySubmit(!1,{totalLength:n-1}),E.log("------------------------------"),E.log("NO MATCH FOR:"),E.log("Spotify title: "+e+" "+t.join(" ")),E.log("Spotify length: "+o),E.log("------------------------------");var i=$("
"+de+"
");i.find(".extra-add-text").text(e+" - "+t.join(" ")),i.find(".extra-add-text").attr("title",e+" - "+t.join(" ")),i.find(".extra-button-search").attr("data-text",e+" - "+t.join(" ")),$(".not-imported-container").append(i.html()),$(".not-imported").removeClass("hide")}else a.items.length>0&&($.each(a.items,function(e,t){l+=t.id.videoId+","}),$.ajax({type:"GET",url:l,dataType:"jsonp",success:function(a){if(a.items.length>0){var i=!1;if($.each(a.items,function(o,a){var s=qe.durationToSeconds(a.contentDetails.duration),l=!1;if($.each(r,function(o,n){return a.snippet.title.toLowerCase().indexOf(n.toLowerCase())!=-1&&a.snippet.title.toLowerCase().indexOf("cover")==-1&&e.toLowerCase().indexOf("cover")==-1&&(a.snippet.title.toLowerCase().indexOf("remix")==-1&&e.toLowerCase().indexOf("remix")==-1||a.snippet.title.toLowerCase().indexOf("remix")!=-1&&e.toLowerCase().indexOf("remix")!=-1||a.snippet.title.toLowerCase().indexOf(t[0].toLowerCase())!=-1||a.snippet.channelTitle.toLowerCase().indexOf(t[0].toLowerCase())!=-1||a.snippet.channelTitle.toLowerCase().indexOf("vevo")!=-1)||(l=!0),
!1}),!l)return i=!0,qe.readySubmit(!0,{id:a.id,title:a.snippet.title,duration:s,totalLength:n-1}),!1}),!i){qe.readySubmit(!1,{totalLength:n-1}),E.log("------------------------------"),E.log("NO MATCH FOR:"),E.log("Spotify title: "+e+" "+t.join(" ")),E.log("Spotify length: "+o),E.log("------------------------------");var s=$("
"+de+"
");s.find(".extra-add-text").text(e+" - "+t.join(" ")),s.find(".extra-add-text").attr("title",e+" - "+t.join(" ")),s.find(".extra-button-search").attr("data-text",e+" - "+t.join(" ")),$(".not-imported-container").append(s.html()),$(".not-imported").removeClass("hide")}}}}))}}),a==n-1&&(document.getElementById("import_spotify").disabled=!1,$("#import_spotify").removeClass("hide"),$("#playlist_loader_spotify").addClass("hide"))},readySubmit:function(e,t){null===qe.submitArrayExpected&&(qe.submitArrayExpected=t.totalLength),e?qe.submitArray.push(t):qe.submitArrayExpected-=1,qe.submitArray.length-1==qe.submitArrayExpected&&($.each(qe.submitArray,function(e,t){qe.submit(t.id,t.title,t.duration,!0,e,qe.submitArray.length-1)}),qe.submitArray=[],qe.submitArrayExpected=null)},submitAndClose:function(e,t,o){qe.submit(e,t,o,!1,0,1),$("#results").html(""),qe.showSearch(),document.getElementById("search").value="",$("#results").html="",$(".main").removeClass("blurT"),$("#controls").removeClass("blurT"),$(".main").removeClass("clickthrough")},importPlaylist:function(e,t){token="",void 0!==t&&(token="&pageToken="+t),playlist_url="https://www.googleapis.com/youtube/v3/playlistItems?part=contentDetails&maxResults=49&key="+V+"&playlistId="+e+token,$.ajax({type:"GET",url:playlist_url,dataType:"jsonp",success:function(t){if(t.error)document.getElementById("import").disabled=!1,$("#playlist_loader").addClass("hide"),$("#import").removeClass("hide"),Materialize.toast("It seems you've entered a invalid url.",4e3);else{var o="";$.each(t.items,function(e,t){o+=t.contentDetails.videoId+","}),qe.addVideos(o,!0),t.nextPageToken&&qe.importPlaylist(e,t.nextPageToken),document.getElementById("import").value=""}}})},importSpotifyPlaylist:function(e){$.ajax({url:e,headers:{Authorization:"Bearer "+re.access_token},success:function(e){$.each(e.items,function(t,o){qe.backgroundSearch(o.track.name,o.track.artists.map(function(e){return e.name}).join(" "),Math.floor(o.track.duration_ms/1e3),e.total,t+e.offset)}),e.next&&qe.importSpotifyPlaylist(e.next)},error:function(){document.getElementById("import_spotify").disabled=!1,$("#import_spotify").removeClass("hide"),$("#playlist_loader_spotify").addClass("hide"),Materialize.toast("It seems you've entered a invalid url.",4e3)}})},addVideos:function(e,t){var o="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key=***REMOVED***&id=";o+=e,$.ajax({type:"POST",url:o,dataType:"jsonp",success:function(e){var o=0,n=[];$.each(e.items,function(e,a){var i=qe.durationToSeconds(a.contentDetails.duration);(!longsongs||i<720)&&(enc_title=a.snippet.title,o+=1,n.push({id:a.id,enc_title:enc_title,duration:i,playlist:t}))}),$.each(n,function(e,t){qe.submit(t.id,t.enc_title,t.duration,t.playlist,e,o)})}})},submit:function(e,t,o,n,a,i){Le.emit("add",{id:e,title:decodeURIComponent(t),adminpass:U,list:M.toLowerCase(),duration:o,playlist:n,num:a,total:i})},durationToSeconds:function(e){var t=e.match(R);return hours=parseInt(t[12])||0,minutes=parseInt(t[14])||0,seconds=parseInt(t[16])||0,60*hours*60+60*minutes+seconds}},Ye={catchUserSuggests:function(e,t){if(t)Ye.createSuggested(e);else for(var o in e)Ye.createSuggested(e[o]);Ye.checkUserEmpty()},createSuggested:function(e){var t=e.duration,o=e.id,n=e.title,a=Math.floor(t/60),i=t-60*a;duration=a+"m "+i+"s";var s=L.generateSong({id:o,title:n,length:t,duration:duration},!1,!1,!1,!0);$("#user-suggest-html").append(s)},fetchYoutubeSuggests:function(e){var t="https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId="+e+"&type=video&key="+V,o="https://www.googleapis.com/youtube/v3/videos?part=contentDetails,snippet,id&key="+V+"&id=";$.ajax({type:"GET",url:t,dataType:"jsonp",success:function(e){$.each(e.items.slice(0,5),function(e,t){o+=t.id.videoId+","}),$.ajax({type:"GET",url:o,dataType:"jsonp",success:function(e){$("#suggest-song-html").empty(),$.each(e.items,function(e,t){var o=t.contentDetails.duration,n=qe.durationToSeconds(o),a=t.id,i=t.snippet.title;o=o.replace("PT","").replace("H","h ").replace("M","m ").replace("S","s"),$("#suggest-song-html").append(L.generateSong({id:a,title:i,length:n,duration:o},!1,!1,!1))})}})}})},checkUserEmpty:function(){var e=$("#user-suggest-html").children().length;0===e?E.contains($("#user_suggests").attr("class").split(" "),"hide")||$("#user_suggests").addClass("hide"):$("#user_suggests").removeClass("hide")}}}();
\ No newline at end of file
diff --git a/static/dist/spotify.min.js b/static/dist/spotify.min.js
index 9f768856..707a79e5 100644
--- a/static/dist/spotify.min.js
+++ b/static/dist/spotify.min.js
@@ -1 +1 @@
-!function(){function e(e){var t,o=e.substring(1).split("&"),n={};for(var a in o)t=o[a].split("="),2==t.length&&(n[t[0]]=t[1]);return n}window.addEventListener("load",function(){var t="b934ecdd173648f5bcd38738af529d58",o=window.location.protocol+"//"+window.location.hostname+"/spotify_callback",n="token",a="playlist-read-private playlist-read-collaborative user-read-private";if(window.location.hash.length<=0)window.location.href="https://accounts.spotify.com/authorize?client_id="+t+"&scope="+a+"&show_dialog=false&response_type="+n+"&redirect_uri="+o;else{var i=e(window.location.hash);window.opener.callback(i)}})}();
\ No newline at end of file
+!function(){function o(o){var i,t=o.substring(1).split("&"),a={};for(var n in t)i=t[n].split("="),2==i.length&&(a[i[0]]=i[1]);return a}window.addEventListener("load",function(){var i="b934ecdd173648f5bcd38738af529d58",t=window.location.protocol+"//"+window.location.hostname+"/spotify_callback",a="token",n="playlist-read-private playlist-read-collaborative user-read-private";if(window.location.hash.length<=0)window.location.href="https://accounts.spotify.com/authorize?client_id="+i+"&scope="+n+"&show_dialog=false&response_type="+a+"&redirect_uri="+t;else{var e=o(window.location.hash);window.opener.callback(e)}})}();
\ No newline at end of file
diff --git a/static/js/admin.js b/static/js/admin.js
index ff5779f1..836333e6 100755
--- a/static/js/admin.js
+++ b/static/js/admin.js
@@ -105,7 +105,7 @@ var Admin = {
Crypt.init();
Admin.set_conf(msg[0]);
if(Crypt.get_pass(chan.toLowerCase()) !== undefined && Admin.beginning && Crypt.get_pass(chan.toLowerCase()) !== ""){
- socket.emit("password", [Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase())), chan.toLowerCase()]);
+ socket.emit("password", {password: Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase())), channel: chan.toLowerCase()});
Admin.beginning = false;
}
},
@@ -114,11 +114,11 @@ var Admin = {
{
if(!w_p)
{
- socket.emit('password', [Crypt.crypt_pass(CryptoJS.SHA256(document.getElementById("password").value).toString()), chan.toLowerCase(), Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase()))]);
+ socket.emit('password', {password: Crypt.crypt_pass(CryptoJS.SHA256(document.getElementById("password").value).toString()), channel: chan.toLowerCase(), oldpass: Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase()))});
}
else
{
- socket.emit('password', [Crypt.crypt_pass(CryptoJS.SHA256(document.getElementById("password").value).toString()), chan.toLowerCase()]);
+ socket.emit('password', {password: Crypt.crypt_pass(CryptoJS.SHA256(document.getElementById("password").value).toString()), channel: chan.toLowerCase()});
}
},
diff --git a/static/js/chat.js b/static/js/chat.js
index 759f4919..1b220122 100755
--- a/static/js/chat.js
+++ b/static/js/chat.js
@@ -33,7 +33,7 @@ var Chat = {
{
//$("#chat-btn").css("color", "grey");
- if(!blink_interval_exists && inp[1].substring(0,1) == ":" && !chat_active)
+ if(!blink_interval_exists && inp.msg.substring(0,1) == ":" && !chat_active)
{
$("#favicon").attr("href", "static/images/highlogo.png");
blink_interval_exists = true;
@@ -47,7 +47,7 @@ var Chat = {
{
$("#favicon").attr("href", "static/images/highlogo.png");
}
- var color = Helper.intToARGB(Helper.hashCode(inp[0]));
+ var color = Helper.intToARGB(Helper.hashCode(inp.from));
if(color.length < 6) {
for(x = color.length; x < 6; x++){
color = "0" + color;
@@ -55,15 +55,15 @@ var Chat = {
}
color = Helper.hexToRgb(color.substring(0,6));
var color_temp = Helper.rgbToHsl([color.r, color.g, color.b], false);
- $("#chatall").append("
"+inp[0]+"");
- var in_text = document.createTextNode(inp[1]);
+ $("#chatall").append("
"+inp.from+"");
+ var in_text = document.createTextNode(inp.msg);
$("#chatall li:last")[0].appendChild(in_text);
document.getElementById("chatall").scrollTop = document.getElementById("chatall").scrollHeight;
},
channelchat: function(data)
{
- if(!blink_interval_exists && data[1].substring(0,1) == ":" && !chat_active)
+ if(!blink_interval_exists && data.msg.substring(0,1) == ":" && !chat_active)
{
$("#favicon").attr("href", "static/images/highlogo.png");
unseen = true;
@@ -72,7 +72,7 @@ var Chat = {
//blink_interval = setTimeout(Chat.chat_blink, 1000);
}
- var color = Helper.intToARGB(Helper.hashCode(data[0]));
+ var color = Helper.intToARGB(Helper.hashCode(data.from));
if(color.length < 6) {
for(x = color.length; x < 6; x++){
color = "0" + color;
@@ -80,8 +80,8 @@ var Chat = {
}
color = Helper.hexToRgb(color.substring(0,6));
var color_temp = Helper.rgbToHsl([color.r, color.g, color.b], false);
- $("#chatchannel").append("
"+data[0]+"");
- var in_text = document.createTextNode(data[1]);
+ $("#chatchannel").append("
"+data.from+"");
+ var in_text = document.createTextNode(data.msg);
$("#chatchannel li:last")[0].appendChild(in_text);
document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight;
},
diff --git a/static/js/hostcontroller.js b/static/js/hostcontroller.js
index 040101bd..22d95a4b 100755
--- a/static/js/hostcontroller.js
+++ b/static/js/hostcontroller.js
@@ -27,31 +27,31 @@ var Hostcontroller = {
host_on_action: function(arr)
{
if(enabled){
- if(arr[0] == "volume"){
- $("#volume").slider("value", arr[1]);
- Player.player.setVolume(arr[1]);
- localStorage.setItem("volume", arr[1]);
- Playercontrols.choose_button(arr[1], false);
- }else if(arr[0] == "channel"){
+ if(arr.type == "volume"){
+ $("#volume").slider("value", arr.value);
+ Player.player.setVolume(arr.value);
+ localStorage.setItem("volume", arr.value);
+ Playercontrols.choose_button(arr.value, false);
+ }else if(arr.type == "channel"){
socket.emit("change_channel");
Admin.beginning = true;
- chan = arr[1].toLowerCase();
+ chan = arr.value.toLowerCase();
$("#chan").html(Helper.upperFirst(chan));
w_p = true;
socket.emit("list", chan.toLowerCase());
/*if(Crypt.get_pass(chan.toLowerCase()) !== undefined && Crypt.get_pass(chan.toLowerCase()) != ""){
- socket.emit("password", [Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase())), chan.toLowerCase()]);
+ socket.emit("password", {password: Crypt.crypt_pass(Crypt.get_pass(chan.toLowerCase())), channel: chan.toLowerCase()});
}*/
window.history.pushState("object or string", "Title", "/"+chan.toLowerCase());
- }else if(arr[0] == "pause")
+ }else if(arr.type == "pause")
Player.player.pauseVideo();
- else if(arr[0] == "play")
+ else if(arr.type == "play")
Player.player.playVideo();
- else if(arr[0] == "skip")
+ else if(arr.type == "skip")
List.skip();
}
},
diff --git a/static/js/list.js b/static/js/list.js
index 9badfe62..a21c84e1 100755
--- a/static/js/list.js
+++ b/static/js/list.js
@@ -4,22 +4,22 @@ var List = {
channel_function: function(msg)
{
- switch(msg[0])
+ switch(msg.type)
{
case "list":
- List.populate_list(msg[1]);
+ List.populate_list(msg.playlist);
break;
case "added":
- List.added_song(msg[1]);
+ List.added_song(msg.value);
break;
case "deleted":
- List.deleted_song(msg[1]);
+ List.deleted_song(msg.value);
break;
case "vote":
- List.voted_song(msg[1], msg[2]);
+ List.voted_song(msg.value, msg.time);
break;
case "song_change":
- if(window.location.pathname != "/") List.song_change(msg[1]);
+ if(window.location.pathname != "/") List.song_change(msg.time);
break;
}
},
@@ -170,12 +170,12 @@ var List = {
},
vote: function(id, vote){
- socket.emit('vote', [chan, id, vote, adminpass]);
+ socket.emit('vote', {channel: chan, id: id, type: vote, adminpass: adminpass});
return true;
},
skip: function(){
- socket.emit('skip', {pass: adminpass, id:video_id});
+ socket.emit('skip', {pass: adminpass, id:video_id, channel: chan.toLowerCase()});
return true;
},
diff --git a/static/js/mobileremote.js b/static/js/mobileremote.js
index a310a497..b343970d 100755
--- a/static/js/mobileremote.js
+++ b/static/js/mobileremote.js
@@ -22,19 +22,19 @@ var Mobile_remote = {
},
set_channel: function(channel_name) {
- socket.emit("id", [Mobile_remote.id, "channel", channel_name]);
+ socket.emit("id", {id: Mobile_remote.id, type: "channel", value: channel_name});
},
play_remote: function() {
- socket.emit("id", [Mobile_remote.id, "play", "mock"]);
+ socket.emit("id", {id: Mobile_remote.id, type: "play", value: "mock"});
},
pause_remote: function() {
- socket.emit("id", [Mobile_remote.id, "pause", "mock"]);
+ socket.emit("id", {id: Mobile_remote.id, type: "pause", value: "mock"});
},
skip_remote: function() {
- socket.emit("id", [Mobile_remote.id, "skip", "mock"]);
+ socket.emit("id", {id: Mobile_remote.id, type: "skip", value: "mock"});
},
initiate_volume: function() {
@@ -49,7 +49,7 @@ var Mobile_remote = {
//localStorage.setItem("volume", ui.value);
},*/
stop:function(event, ui) {
- socket.emit("id", [Mobile_remote.id, "volume", ui.value]);
+ socket.emit("id", {id: Mobile_remote.id, type: "volume", value: ui.value});
Helper.log("volume");
//console.log(ui.value);
}
diff --git a/static/js/player.js b/static/js/player.js
index 7f720331..e26928c4 100755
--- a/static/js/player.js
+++ b/static/js/player.js
@@ -34,16 +34,16 @@ var Player = {
else{
//Helper.log("gotten new song");
if(previous_video_id === undefined)
- previous_video_id = obj[0][0].id;
+ previous_video_id = obj.np[0].id;
else if(previous_video_id != video_id)
previous_video_id = video_id;
- video_id = obj[0][0].id;
- conf = obj[1][0];
- time = obj[2];
+ video_id = obj.np[0].id;
+ conf = obj.conf[0];
+ time = obj.time;
seekTo = time - conf.startTime;
- song_title = obj[0][0].title;
- duration = obj[0][0].duration;
+ song_title = obj.np[0].title;
+ duration = obj.np[0].duration;
if(mobile_beginning && Helper.mobilecheck() && seekTo === 0)
seekTo = 1;
diff --git a/static/js/remotecontroller.js b/static/js/remotecontroller.js
index 7fc3c969..e63abeb9 100755
--- a/static/js/remotecontroller.js
+++ b/static/js/remotecontroller.js
@@ -63,17 +63,17 @@ function success()
$("#playbutton").on("click", function()
{
- socket.emit("id", [id, "play", "mock"]);
+ socket.emit("id", {id: id, type: "play", value: "mock"});
});
$("#pausebutton").on("click", function()
{
- socket.emit("id", [id, "pause", "mock"]);
+ socket.emit("id", {id: id, type: "pause", value: "mock"});
});
$("#skipbutton").on("click", function()
{
- socket.emit("id", [id, "skip", "mock"]);
+ socket.emit("id", {id: id, type: "skip", value: "mock"});
});
$("#remoteform").on("submit", function()
@@ -120,14 +120,14 @@ var Remotecontroller = {
//localStorage.setItem("volume", ui.value);
},*/
stop:function(event, ui) {
- socket.emit("id", [id, "volume", ui.value]);
+ socket.emit("id", {id: id, type: "volume", value: ui.value});
console.log("volume");
//console.log(ui.value);
}
});
}else
{
- socket.emit("id", [id, "channel", $("#search").val().toLowerCase()]);
+ socket.emit("id", {id: id, type: "channel", value: $("#search").val().toLowerCase()});
$("#search").val("");
}