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/admin.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>
<!-- 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)
{
if(list !== undefined && list !== null && list != "")
@@ -122,7 +127,8 @@ io.on('connection', function(socket){
list = list.split(',');
coll = list[0].toLowerCase();
//guid = list[1];
socket.emit("guid", rndName(guid));
console.log(coll);
//console.log(name + " joined list " + coll);
check_inlist(coll, guid, socket, name);
@@ -455,6 +461,22 @@ io.on('connection', function(socket){
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()
{
if(in_list)

View File

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

View File

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

View File

@@ -23,56 +23,60 @@ var paused = false;
var playing = false;
//play new song
socket.on(chan.toLowerCase()+",np", function(obj)
function setup_youtube_listener(channel)
{
console.log(obj);
if(obj[0].length == 0){
console.log("Empty list");
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
$("#player_overlay").height($("#player").height());
if(!window.mobilecheck())
$("#player_overlay").toggleClass("hide");
importOldList(chan.toLowerCasettings-barse());
}
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);
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);
socket.on(channel.toLowerCase()+",np", function(obj)
{
console.log(obj);
if(obj[0].length == 0){
console.log("Empty list");
document.getElementById('song-title').innerHTML = "Empty channel. Add some songs!";
$("#player_overlay").height($("#player").height());
if(!window.mobilecheck())
$("#player_overlay").toggleClass("hide");
importOldList(channel.toLowerCasettings-barse());
}
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);
}
});
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)
{
viewers = view;
if(song_title !== undefined)
getTitle(song_title, viewers);
});
socket.on(channel.toLowerCase()+",viewers", function(view)
{
viewers = view;
if(song_title !== undefined)
getTitle(song_title, viewers);
});
}
$(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);
$("#settings").sideNav({
menuWidth: 300, // Default is 240