var Hostcontroller = { enabled: true, old_id: null, host_listener: function(id) { if(client) return; Helper.log([ "Host-listener triggered", "Host-listener id:" + id ]); if(Hostcontroller.old_id === null) Hostcontroller.old_id = id; else { socket.removeAllListeners(id); began = false; Hostcontroller.old_id = id; } var codeURL = window.location.protocol + "//remote."+window.location.hostname+"/"+id; if(embed) { if(window.parentWindow && window.parentOrigin) { window.parentWindow.postMessage({type: "controller", id: id}, window.parentOrigin); } } else if(!embed) { if(window.location.pathname == "/") return; document.querySelector("#code-text").innerText = id; document.querySelector("#code-qr").setAttribute("src", "https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+codeURL); document.querySelector("#code-link").setAttribute("href", codeURL); } if(!began) { began = true; setup_host_listener(id); } }, host_on_action: function(arr) { if(client) return; if(Hostcontroller.enabled){ if(arr.type == "volume") { try { Playercontrols.visualVolume(arr.value); Player.setVolume(arr.value); if(scUsingWidget) Player.soundcloud_player.setVolume(arr.value); else Player.soundcloud_player.setVolume(arr.value / 100); try { localStorage.setItem("volume", arr.value); } catch(e){} Playercontrols.choose_button(arr.value, false); } catch(e) {} } else if(arr.type == "channel") { if(window.location.pathname == "/") return; socket.emit("change_channel"); Admin.beginning = true; chan = arr.value.toLowerCase(); Helper.setHtml("#chan", Helper.upperFirst(chan)); var shareCodeUrl = window.location.protocol + "//client."+window.location.hostname+"/r/"+btoa(encodeURIComponent(chan.toLowerCase())); document.getElementById("share-join-qr").setAttribute("src", "https://chart.googleapis.com/chart?chs=221x221&cht=qr&choe=UTF-8&chld=L|1&chl="+shareCodeUrl); Helper.setHtml("#channel-name-join", "client." + window.location.hostname + "/" + encodeURIComponent(chan.toLowerCase())); w_p = true; var add = ""; //if(private_channel) add = Crypt.getCookie("_uI") + "_"; socket.emit("list", {version: parseInt(_VERSION), channel: add + chan.toLowerCase()}); window.history.pushState("object or string", "Title", "/"+chan.toLowerCase()); } else if(arr.type == "pause") { Player.pauseVideo(); } else if(arr.type == "play") { Player.playVideo(); } else if(arr.type == "skip") { List.skip(); } } }, change_enabled:function(val){ if(client) return; Hostcontroller.enabled = val; try { document.querySelector(".remote_switch_class").checked = Hostcontroller.enabled; }catch(e) {} } };