[EMSCRIPTEN] chrome fixes
This commit is contained in:
parent
b874f003ff
commit
e6389f9919
|
@ -1,7 +1,7 @@
|
||||||
//"use strict";
|
//"use strict";
|
||||||
|
|
||||||
var LibraryRWebAudio = {
|
var LibraryRWebAudio = {
|
||||||
$RA__deps: ['$Browser'],
|
$RA__deps: ['$Browser', 'usleep'],
|
||||||
$RA: {
|
$RA: {
|
||||||
BUFFER_SIZE: 256,
|
BUFFER_SIZE: 256,
|
||||||
|
|
||||||
|
@ -12,17 +12,24 @@ var LibraryRWebAudio = {
|
||||||
bufOffset: 0,
|
bufOffset: 0,
|
||||||
startTime: 0,
|
startTime: 0,
|
||||||
nonblock: false,
|
nonblock: false,
|
||||||
|
currentTimeWorkaround: false,
|
||||||
|
|
||||||
setStartTime: function() {
|
setStartTime: function() {
|
||||||
if (RA.context.currentTime) {
|
if (RA.context.currentTime) {
|
||||||
RA.startTime = window['performance']['now']() - RA.context.currentTime * 1000;
|
RA.startTime = window['performance']['now']() - RA.context.currentTime * 1000;
|
||||||
|
var time1 = RA.context.currentTime;
|
||||||
|
_usleep(50);
|
||||||
|
if (time1 === RA.context.currentTime) {
|
||||||
|
RA.currentTimeWorkaround = true;
|
||||||
if (RA.startTime === 0) throw 'startTime is 0';
|
if (RA.startTime === 0) throw 'startTime is 0';
|
||||||
|
}
|
||||||
Module["resumeMainLoop"]();
|
Module["resumeMainLoop"]();
|
||||||
} else window['setTimeout'](RA.setStartTime, 0);
|
} else window['setTimeout'](RA.setStartTime, 0);
|
||||||
},
|
},
|
||||||
|
|
||||||
getCurrentPerfTime: function() {
|
getCurrentPerfTime: function() {
|
||||||
if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
|
if (!RA.currentTimeWorkaround) return RA.context.currentTime;
|
||||||
|
else if (RA.startTime) return (window['performance']['now']() - RA.startTime) / 1000;
|
||||||
else throw 'getCurrentPerfTime() called before start time set';
|
else throw 'getCurrentPerfTime() called before start time set';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -23,22 +23,17 @@ var LibraryRWebInput = {
|
||||||
break;
|
break;
|
||||||
case 'mouseup':
|
case 'mouseup':
|
||||||
case 'mousedown':
|
case 'mousedown':
|
||||||
var l, r;
|
var value;
|
||||||
|
var offset;
|
||||||
if (event.buttons & 1) l = 1;
|
if (event.button === 0) offset = 40;
|
||||||
else l = 0;
|
else if (event.button === 2) offset = 41;
|
||||||
|
else break;
|
||||||
if (event.buttons & 2) r = 1;
|
if (event.type === 'mouseup') value = 0;
|
||||||
else r = 0;
|
else value = 1;
|
||||||
|
|
||||||
for (i = 0; i < RI.contexts.length; i++) {
|
for (i = 0; i < RI.contexts.length; i++) {
|
||||||
{{{ makeSetValue('RI.contexts[i].state', '40', 'l', 'i8') }}};
|
{{{ makeSetValue('RI.contexts[i].state', 'offset', 'value', 'i8') }}};
|
||||||
{{{ makeSetValue('RI.contexts[i].state', '41', 'r', 'i8') }}};
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'click':
|
|
||||||
e.preventDefault();
|
|
||||||
break;
|
|
||||||
case 'keyup':
|
case 'keyup':
|
||||||
case 'keydown':
|
case 'keydown':
|
||||||
var key = event.keyCode;
|
var key = event.keyCode;
|
||||||
|
@ -70,7 +65,6 @@ var LibraryRWebInput = {
|
||||||
document.addEventListener('mousemove', RI.eventHandler, false);
|
document.addEventListener('mousemove', RI.eventHandler, false);
|
||||||
document.addEventListener('mouseup', RI.eventHandler, false);
|
document.addEventListener('mouseup', RI.eventHandler, false);
|
||||||
document.addEventListener('mousedown', RI.eventHandler, false);
|
document.addEventListener('mousedown', RI.eventHandler, false);
|
||||||
document.addEventListener('click', RI.eventHandler, false);
|
|
||||||
document.addEventListener('blur', RI.eventHandler, false);
|
document.addEventListener('blur', RI.eventHandler, false);
|
||||||
document.addEventListener('onvisbilitychange', RI.eventHandler, false);
|
document.addEventListener('onvisbilitychange', RI.eventHandler, false);
|
||||||
}
|
}
|
||||||
|
@ -103,7 +97,6 @@ var LibraryRWebInput = {
|
||||||
document.removeEventListener('mousemove', RI.eventHandler, false);
|
document.removeEventListener('mousemove', RI.eventHandler, false);
|
||||||
document.removeEventListener('mouseup', RI.eventHandler, false);
|
document.removeEventListener('mouseup', RI.eventHandler, false);
|
||||||
document.removeEventListener('mousedown', RI.eventHandler, false);
|
document.removeEventListener('mousedown', RI.eventHandler, false);
|
||||||
document.removeEventListener('click', RI.eventHandler, false);
|
|
||||||
document.removeEventListener('blur', RI.eventHandler, false);
|
document.removeEventListener('blur', RI.eventHandler, false);
|
||||||
document.removeEventListener('onvisbilitychange', RI.eventHandler, false);
|
document.removeEventListener('onvisbilitychange', RI.eventHandler, false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue