content/hifi-content/caitlyn/scratch/messagesTestReceive.js
2022-02-13 22:19:19 +01:00

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!!');