Compare commits
No commits in common. "66acb91ee34558da008cf6b0ee340da06a9f7189" and "2f22eb21aa3a981cfd449bc922db5b2e54f50a6f" have entirely different histories.
66acb91ee3
...
2f22eb21aa
|
@ -1,38 +1,38 @@
|
|||
// https://stackoverflow.com/questions/49971575/chrome-fetch-api-cannot-load-file-how-to-workaround
|
||||
if (/^file:\/\/\//.test(location.href) && /chrome/i.test(navigator.userAgent)) {
|
||||
let path = './';
|
||||
let orig = fetch;
|
||||
window.fetch = (resource) => ((/^[^/:]*:/.test(resource)) ?
|
||||
orig(resource) :
|
||||
new Promise(function(resolve, reject) {
|
||||
let request = new XMLHttpRequest();
|
||||
|
||||
let fail = (error) => {reject(error)};
|
||||
['error', 'abort'].forEach((event) => { request.addEventListener(event, fail); });
|
||||
|
||||
let pull = (expected) => (new Promise((resolve, reject) => {
|
||||
if (expected == 'json') {
|
||||
try {
|
||||
resolve(JSON.parse(request.response))
|
||||
} catch(e) {}
|
||||
}
|
||||
if (
|
||||
request.responseType == expected ||
|
||||
(expected == 'text' && !request.responseType)
|
||||
)
|
||||
resolve(request.response);
|
||||
else
|
||||
reject(request.responseType);
|
||||
}));
|
||||
|
||||
request.addEventListener('load', () => (resolve({
|
||||
arrayBuffer : () => (pull('arraybuffer')),
|
||||
blob : () => (pull('blob')),
|
||||
text : () => (pull('text')),
|
||||
json : () => (pull('json'))
|
||||
})));
|
||||
request.open('GET', resource.replace(/^\//, path));
|
||||
request.send();
|
||||
})
|
||||
);
|
||||
// https://stackoverflow.com/questions/49971575/chrome-fetch-api-cannot-load-file-how-to-workaround
|
||||
if (/^file:\/\/\//.test(location.href) && /chrome/i.test(navigator.userAgent)) {
|
||||
let path = './';
|
||||
let orig = fetch;
|
||||
window.fetch = (resource) => ((/^[^/:]*:/.test(resource)) ?
|
||||
orig(resource) :
|
||||
new Promise(function(resolve, reject) {
|
||||
let request = new XMLHttpRequest();
|
||||
|
||||
let fail = (error) => {reject(error)};
|
||||
['error', 'abort'].forEach((event) => { request.addEventListener(event, fail); });
|
||||
|
||||
let pull = (expected) => (new Promise((resolve, reject) => {
|
||||
if (expected == 'json') {
|
||||
try {
|
||||
resolve(JSON.parse(request.response))
|
||||
} catch(e) {}
|
||||
}
|
||||
if (
|
||||
request.responseType == expected ||
|
||||
(expected == 'text' && !request.responseType)
|
||||
)
|
||||
resolve(request.response);
|
||||
else
|
||||
reject(request.responseType);
|
||||
}));
|
||||
|
||||
request.addEventListener('load', () => (resolve({
|
||||
arrayBuffer : () => (pull('arraybuffer')),
|
||||
blob : () => (pull('blob')),
|
||||
text : () => (pull('text')),
|
||||
json : () => (pull('json'))
|
||||
})));
|
||||
request.open('GET', resource.replace(/^\//, path));
|
||||
request.send();
|
||||
})
|
||||
);
|
||||
}
|
8
main.js
8
main.js
|
@ -165,7 +165,7 @@ if (window.location.protocol !== "file:") {
|
|||
}
|
||||
}, e => console.error(e))
|
||||
})
|
||||
|
||||
|
||||
fetch('rnote.wav').then(r => r.arrayBuffer()).then(r => {
|
||||
seContext.decodeAudioData(r, buf => {
|
||||
if (buf) {
|
||||
|
@ -1127,10 +1127,10 @@ function render(now) {
|
|||
pendingSeRTrigger.shift()
|
||||
}
|
||||
while (pendingSeClockTrigger.length && pendingSeClockTrigger[0] - currentTs < 100) {
|
||||
if (!seBuffer) break
|
||||
if (!seBuffer && !clkBuffer) break
|
||||
if (pendingSeClockTrigger[0] - currentTs > -25) {
|
||||
let bufSrc = seContext.createBufferSource()
|
||||
bufSrc.buffer = seBuffer
|
||||
bufSrc.buffer = clkBuffer != null ? clkBuffer : seBuffer
|
||||
bufSrc.connect(gain)
|
||||
bufSrc.start(seContext.currentTime + Math.max(0, pendingSeClockTrigger[0] - currentTs) / 1000)
|
||||
}
|
||||
|
@ -1139,7 +1139,7 @@ function render(now) {
|
|||
}
|
||||
}
|
||||
let globalPlaybackOffset = 0
|
||||
//if (/win32/i.test(navigator.platform) && /firefox/i.test(navigator.userAgent)) globalPlaybackOffset = -60
|
||||
// if (/win32/i.test(navigator.platform) && /firefox/i.test(navigator.userAgent)) globalPlaybackOffset = -60
|
||||
let CALC_CONE_HEIGHT = 6
|
||||
let CALC_CONE_RADIUS = 2
|
||||
function distanceToRenderRadius (maxR, distance) {
|
||||
|
|
Loading…
Reference in New Issue