function Room(roomname) {
- var allowedguess = false
- , artist // Artists in lowercase
+ var artist // Artists in lowercase
, artistName
, artworkUrl
, feat // Featured artists
// A user is sending a guess
this.guess = function(socket, guess) {
- if (allowedguess) {
+ if (status === 0) {
if (!usersData[socket.nickname].matched) { // No track no artist
if ((artist === title) && amatch(title, guess, true)) {
addPointsAndStats(socket.nickname, true);
socket.emit('stoptrying');
}
}
- else {
- socket.emit('noguesstime');
- }
};
this.ignore = function(who, executor, callback) {
}
// Censor answers from chat
var msglcase = msg.toLowerCase();
- if (allowedguess && (amatch(artist, msglcase, true) ||
+ if (status === 0 && (amatch(artist, msglcase, true) ||
(feat && amatch(feat, msglcase, true)) || amatch(title, msglcase))) {
var notice = 'You are probably right, but you have to use the box above.';
socket.emit('chatmsg', notice, 'binb', socket.nickname);
};
io.sockets.in(roomname).emit('playtrack', data);
songTimeLeft(Date.now() + 30000, 50);
- allowedguess = true;
setTimeout(sendTrackInfo, 30000);
};
};
io.sockets.in(roomname).emit('trackinfo', trackinfo);
finishline = 1;
- allowedguess = false;
if (songcounter < config.songsinarun) {
resetPoints(true);
, historycursor = 0
, historyvalues = []
, ignoredplayers = {}
+ , isplaying
, jplayer
, nickname
, pvtmsgto
touchplay.removeClass('btn-success').addClass('btn-danger disabled');
touchplay.html('<i class="icon-play icon-white"></i> Wait');
}
+ isplaying = false;
cassetteAnimation(Date.now()+5000, false);
var artistName = data.artistName.replace(/"/g, '"')
}
jplayer.jPlayer('unmute');
jplayer.jPlayer('play');
+ DOM.guessbox.val('');
+ isplaying = true;
updateUsers(data.users);
cassetteAnimation(Date.now()+30000, true);
if (data.counter === 1) {
case 13: // return
var guess = $.trim(DOM.guessbox.val());
if (guess !== '') {
- socket.emit('guess', guess.toLowerCase());
+ if (isplaying) {
+ socket.emit('guess', guess.toLowerCase());
+ }
+ else {
+ addFeedback('You have to wait the next song...');
+ }
historyvalues.push(guess);
if (historyvalues.length > 20) {
historyvalues.splice(0, 1);
}
});
+ DOM.guessbox.on('paste', function(event) {
+ event.preventDefault();
+ });
+
DOM.guessbox.focus();
socket.on('artistmatched', function() {
socket.on('gameover', gameOver);
socket.on('loadtrack', loadTrack);
socket.on('newuser', userJoin);
- socket.on('noguesstime', function() {
- addFeedback('You have to wait the next song...');
- });
socket.on('nomatch', function() {
addFeedback(nmstrings[Math.floor(Math.random()*nmstrings.length)], 'wrong');
});
var setStatus = function(data) {
if (data.status === 0) {
+ isplaying = true;
cassetteAnimation(Date.now()+data.timeleft, true);
}
else if (data.status === 1) {
e.preventDefault();
}
});
- socket = io.connect(uri, {'reconnect':false});
+ socket = io.connect(uri, {
+ 'force new connection': true,
+ 'reconnect': false
+ });
socket.on('connect', function() {
jplayer = $('#player').jPlayer({
ready: jplayerReady,