This commit is contained in:
Felix Roos 2022-03-18 19:58:05 +01:00
parent 9e8f911f02
commit aef7f7bbc2

8
docs/dist/static.js vendored
View File

@ -6,9 +6,11 @@ async function playStatic(code) {
let start, took;
const seconds = Number(prompt("How many seconds to run?")) || 60;
start = performance.now();
console.log("evaluating..");
const {pattern: pat} = await evaluate(code);
took = performance.now() - start;
console.log("evaluate took", took, "ms");
console.log("querying..");
Tone.getTransport().stop();
start = performance.now();
const events = pat?.query(new State(new TimeSpan(0, seconds)))?.filter((event) => event.part.begin.valueOf() === event.whole.begin.valueOf())?.map((event) => ({
@ -19,6 +21,7 @@ async function playStatic(code) {
}));
took = performance.now() - start;
console.log("query took", took, "ms");
console.log("scheduling..");
start = performance.now();
events.forEach((event) => {
Tone.getTransport().schedule((time) => {
@ -37,12 +40,13 @@ async function playStatic(code) {
} catch (err) {
console.warn(err);
err.message = "unplayable event: " + err?.message;
pushLog(err.message);
console.error(err);
}
}, event.time);
});
took = performance.now() - start;
console.log("schedule took", took, "ms");
console.log("scheduling took", took, "ms");
console.log("now starting!");
Tone.getTransport().start("+0.5");
}
export default playStatic;