40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
|
|
var messagesReceivedCount = 0;
|
|
|
|
var videoScreenUID = "{ce0db5cc-0924-4cf4-bd13-f4db259e010e}"; // Get this dynamically from the TV entity instead of hard wired.
|
|
var localTime = 0;
|
|
var innited =false;
|
|
var timeDrift = 0;
|
|
|
|
function gup( name, url ) {
|
|
if (!url) url = location.href;
|
|
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
|
|
var regexS = "[\\?&]"+name+"=([^&#]*)";
|
|
var regex = new RegExp( regexS );
|
|
var results = regex.exec( url );
|
|
return results == null ? null : results[1];
|
|
}
|
|
|
|
function handleMessages(channel, message, sender) {
|
|
|
|
if (sender === MyAvatar.sessionUUID) {
|
|
if (channel == "messageTest") {
|
|
var sourceTime = gup('start',message); // get the time the video should be at
|
|
if (innited) timeDrift = Math.abs(localTime-sourceTime);
|
|
localTime++;
|
|
print("MESS REC'D. TD is "+timeDrift);
|
|
if (timeDrift<5) return;
|
|
innited = true;
|
|
print ("SYNC UPDATE!!");//<5) return; // If within 3 seconds sync, don't bother resyncing.
|
|
localTime = sourceTime;
|
|
print('sendIndex/receiveCount::' + message);
|
|
var newProperties = {sourceUrl:message};
|
|
Entities.editEntity(videoScreenUID, newProperties);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
Messages.messageReceived.connect(handleMessages);
|
|
Messages.subscribe('messageTest')
|
|
print('READY TO RECEIVE!!');
|