-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautodubplus.js
127 lines (105 loc) · 3.06 KB
/
autodubplus.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
var autoDub = {
started: false,
version: "00.03r"
}
var userList= [];
var checkUsers = true;
autoDub.test = function()
{
if (checkUsers == true)
{
var newlist = autoDub.getUsers();
autoDub.testList(newlist, userList, function(user) { if(user) { $(".chat-main").append("<li class='autodub'>"+user+" joined.</li>");} autoDub.testList(userList, newlist, function(user) { if(user) { $(".chat-main").append("<li class='autodub'>"+user+" left.</li>");} userList = newlist; });});
//autoDub.testList(userList, newlist, function(user) { console.log(user+'otherdiff'); userList = newlist; });
}
}
autoDub.testList = function(listLoop, listCompare, callback)
{
console.log('in testList');
$.each(listLoop, function(index, item) {
console.log('testing '+item);
if ($.inArray(item, listCompare) < 0)
{
console.log(item+' is not in list');
callback(item);
return true;
} else {
}
});
callback(false);
}
autoDub.userEnterLeave = function() {
console.log('original users');
console.log(userList);
nowUsers = autoDub.getUsers();
var entertext = '';
if (nowUsers.length > userList.length)
{
entertext = "Heya @";
} else {
entertext = "seeya @";
}
console.log(entertext);
var userEnter = autoDub.notInList(nowUsers, userList);
var userLeave = autoDub.notInList(userList, nowUsers);
if (userEnter)
{
console.log(entertext + userEnter);
$("#chat-txt-message").val(entertext + userEnter + "!");
}
if (userLeave)
{
console.log(entertext+userLeave);
$("#chat-txt-message").val(entertext + userLeave + "!");
}
console.log('new userlist');
console.log(userList);
}
autoDub.notInList = function(listLoop, listCompare, callback)
{
$.each(listLoop, function(index, item) {
console.log('testing '+item);
if ($.inArray(item, listCompare) < 0)
{
console.log(item+' is not in list');
callback(item);
} else {
}
});
return false;
}
autoDub.getUsers = function()
{
users = [];
$("#avatar-list li p").each(function(one, thing) {
if (thing.className == 'username')
{
users.push($(thing).html());
}
});
return users;
}
autoDub.newSong = function(){
var songName = $(".currentSong").text();
if (songName == "loading...") return;
$(".dubup").click();
console.log("voted for "+songName);
};
autoDub.userReset = function() {
console.log("in userReset");
$(".autodub").remove();
userList = autoDub.getUsers();
userCheck = true;
}
autoDub.init = function(){
$('.currentSong').bind("DOMSubtreeModified", autoDub.newSong);
$(".dubup").click();
$('.room-user-counter').bind("DOMSubtreeModified", autoDub.test);
userList = autoDub.getUsers();
$(".room-user-counter").mousedown(function() { console.log('room-user-counter'); userCheck = false; });
$(".loadRoomAva").click(function() { console.log('loadRoomAva'); autoDub.userReset(); });
$(".main-room-active-link").mousedown(function() { console.log('main-room-active-link'); autoDub.userReset(); });
console.log("autodub v"+autoDub.version+" is a go!");
$(".chat-main").append("<li class='autodub'>autodub v"+autoDub.version+"is a go!</li>");
};
if (!autoDub.started) autoDub.init();