Functionality up for host-client controller

This commit is contained in:
Kasper Rynning-Tønnesen
2015-06-03 23:31:13 +02:00
parent 77c02fb2d0
commit 4b02f71d98
5 changed files with 93 additions and 61 deletions

View File

@@ -80,6 +80,7 @@
<script type="text/javascript" src="static/js/search.js"></script> <script type="text/javascript" src="static/js/search.js"></script>
<script type="text/javascript" src="static/js/admin.js"></script> <script type="text/javascript" src="static/js/admin.js"></script>
<script type="text/javascript" src="static/js/chat.js"></script> <script type="text/javascript" src="static/js/chat.js"></script>
<script type="text/javascript" src="static/js/controller.js"></script>
<script type="text/javascript" src="static/js/lib/materialize.js"></script> <script type="text/javascript" src="static/js/lib/materialize.js"></script>
<!-- Piwik tracking --> <!-- Piwik tracking -->

View File

@@ -114,6 +114,11 @@ io.on('connection', function(socket){
}); });
}); });
socket.on('guid', function(arr)
{
io.sockets.emit(arr[0], [arr[1], arr[2]]);
});
socket.on('list', function(list) socket.on('list', function(list)
{ {
if(list !== undefined && list !== null && list != "") if(list !== undefined && list !== null && list != "")
@@ -122,7 +127,8 @@ io.on('connection', function(socket){
list = list.split(','); list = list.split(',');
coll = list[0].toLowerCase(); coll = list[0].toLowerCase();
//guid = list[1]; //guid = list[1];
socket.emit("guid", rndName(guid));
console.log(coll);
//console.log(name + " joined list " + coll); //console.log(name + " joined list " + coll);
check_inlist(coll, guid, socket, name); check_inlist(coll, guid, socket, name);
@@ -455,6 +461,22 @@ io.on('connection', function(socket){
socket.emit("toast", "wrongpass"); socket.emit("toast", "wrongpass");
}); });
socket.on('change_channel', function()
{
if(in_list)
{
if(contains(lists[coll], guid))
{
//console.log(name + " left list " + coll);
var index = lists[coll].indexOf(guid);
lists[coll].splice(index, 1);
io.sockets.emit(coll+",viewers", lists[coll].length);
io.sockets.emit('chat,'+coll, [name, " left"]);
}
}
});
socket.on('disconnect', function() socket.on('disconnect', function()
{ {
if(in_list) if(in_list)

View File

@@ -14,6 +14,8 @@ function chat(data)
return; return;
} }
setup_chat_listener(chan);
document.getElementById("chat-btn").addEventListener("click", function(){ document.getElementById("chat-btn").addEventListener("click", function(){
console.log("clicked"); console.log("clicked");
$("#text-chat-input").focus(); $("#text-chat-input").focus();
@@ -62,26 +64,29 @@ $(window).focus(function(){
} }
}); });
socket.on("chat,"+chan.toLowerCase(), function(data) function setup_chat_listener(channel)
{ {
if($("#chat-bar").position()["left"] != 0) socket.on("chat,"+channel.toLowerCase(), function(data)
{ {
if(data[1].indexOf(":") >= 0){ if($("#chat-bar").position()["left"] != 0)
//$("#chat-btn").css("color", "grey"); {
if(!blink_interval_exists) if(data[1].indexOf(":") >= 0){
{ //$("#chat-btn").css("color", "grey");
$("#favicon").attr("href", "static/images/highlogo.png"); if(!blink_interval_exists)
blink_interval_exists = true; {
blink_interval = setInterval(chat_blink, 2000); $("#favicon").attr("href", "static/images/highlogo.png");
blink_interval_exists = true;
blink_interval = setInterval(chat_blink, 2000);
}
} }
} }
} var color = intToARGB(hashCode(data[0])).substring(0,6);
var color = intToARGB(hashCode(data[0])).substring(0,6); $("#chatchannel").append("<li><scrollTopan style='color:"+color+";'>"+data[0]+"</span></li>");
$("#chatchannel").append("<li><scrollTopan style='color:"+color+";'>"+data[0]+"</span></li>"); var in_text = document.createTextNode(data[1]);
var in_text = document.createTextNode(data[1]); $("#chatchannel li:last")[0].appendChild(in_text);
$("#chatchannel li:last")[0].appendChild(in_text); document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight
document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight });
}); }
function chat_blink() function chat_blink()
{ {

View File

@@ -84,7 +84,7 @@ function populate_list(msg, conf_only)
}else player_name = "#player"; }else player_name = "#player";
} }
} }
$("#settings").css("visibility", "visible"); $("#settings").css("visibility", "visible");
$("#settings").css("opacity", "1"); $("#settings").css("opacity", "1");
$("#wrapper").css("opacity", "1"); $("#wrapper").css("opacity", "1");

View File

@@ -23,56 +23,60 @@ var paused = false;
var playing = false; var playing = false;
//play new song //play new song
socket.on(chan.toLowerCase()+",np", function(obj) function setup_youtube_listener(channel)
{ {
console.log(obj); socket.on(channel.toLowerCase()+",np", function(obj)
if(obj[0].length == 0){ {
console.log("Empty list"); console.log(obj);
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!"; if(obj[0].length == 0){
$("#player_overlay").height($("#player").height()); console.log("Empty list");
if(!window.mobilecheck()) document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
$("#player_overlay").toggleClass("hide"); $("#player_overlay").height($("#player").height());
importOldList(chan.toLowerCasettings-barse()); if(!window.mobilecheck())
} $("#player_overlay").toggleClass("hide");
else{ importOldList(channel.toLowerCasettings-barse());
console.log("gotten new song");
$("#player_overlay").addClass("hide");
video_id = obj[0][0]["id"];
conf = obj[1][0];
time = obj[2];
seekTo = time - conf["startTime"];
song_title = obj[0][0]["title"];
getTitle(song_title, viewers);
if(player_ready && !window.mobilecheck())
{
if(ytplayer.getVideoUrl().split('v=')[1] != video_id)
{
ytplayer.loadVideoById(video_id);
setBGimage(video_id);
notifyUser(video_id, song_title);
if(paused)
ytplayer.pauseVideo();
}else
console.log("like");
if(!paused)
ytplayer.playVideo();
if(ytplayer.getDuration() > seekTo)
ytplayer.seekTo(seekTo);
} }
else else{
console.log("gotten new song");
$("#player_overlay").addClass("hide");
video_id = obj[0][0]["id"];
conf = obj[1][0];
time = obj[2];
seekTo = time - conf["startTime"];
song_title = obj[0][0]["title"];
getTitle(song_title, viewers); getTitle(song_title, viewers);
} if(player_ready && !window.mobilecheck())
}); {
if(ytplayer.getVideoUrl().split('v=')[1] != video_id)
{
ytplayer.loadVideoById(video_id);
setBGimage(video_id);
notifyUser(video_id, song_title);
if(paused)
ytplayer.pauseVideo();
}else
console.log("like");
if(!paused)
ytplayer.playVideo();
if(ytplayer.getDuration() > seekTo)
ytplayer.seekTo(seekTo);
}
else
getTitle(song_title, viewers);
}
});
socket.on(chan.toLowerCase()+",viewers", function(view) socket.on(channel.toLowerCase()+",viewers", function(view)
{ {
viewers = view; viewers = view;
if(song_title !== undefined) if(song_title !== undefined)
getTitle(song_title, viewers); getTitle(song_title, viewers);
}); });
}
$(document).ready(function() $(document).ready(function()
{ {
setup_youtube_listener(chan);
//Materialize.toast("Passwords have been reset. If anything is not right, please send us a mail @ contact@zoff.no", 10000); //Materialize.toast("Passwords have been reset. If anything is not right, please send us a mail @ contact@zoff.no", 10000);
$("#settings").sideNav({ $("#settings").sideNav({
menuWidth: 300, // Default is 240 menuWidth: 300, // Default is 240