Ignore superdough errors when exporting, instead skip sound.

This commit is contained in:
Nikita 2025-10-22 22:48:04 +03:00
parent 7b74a902a2
commit 5a70599aac

View file

@ -54,6 +54,7 @@ export async function renderPatternAudio(pattern, cps, begin, end, sampleRate, d
await Promise.all( await Promise.all(
haps.map(async (hap) => { haps.map(async (hap) => {
if (hap.hasOnset()) { if (hap.hasOnset()) {
try {
await superdough( await superdough(
hap2value(hap), hap2value(hap),
hap.whole.begin.valueOf() / cps, hap.whole.begin.valueOf() / cps,
@ -61,6 +62,9 @@ export async function renderPatternAudio(pattern, cps, begin, end, sampleRate, d
cps, cps,
hap.whole?.begin.valueOf(), hap.whole?.begin.valueOf(),
); );
} catch (error) {
logger("[webaudio] An error had occured while calling superdough. Skipping hap.")
}
} }
}), }),
); );
@ -81,12 +85,12 @@ export async function renderPatternAudio(pattern, cps, begin, end, sampleRate, d
document.body.removeChild(a); document.body.removeChild(a);
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
}) })
.finally(async () => { // .finally(async () => {
setAudioContext(null); // setAudioContext(null);
setSuperdoughAudioController(null); // setSuperdoughAudioController(null);
resetGlobalEffects(); // resetGlobalEffects();
await initAudio(); // await initAudio();
}); // });
} }
export function webaudioRepl(options = {}) { export function webaudioRepl(options = {}) {