fix: call setTime in initStrudel
+ return promise with scheduler
This commit is contained in:
parent
fde0da3b19
commit
d06b70c28d
1 changed files with 5 additions and 2 deletions
|
|
@ -5,7 +5,7 @@ export * from '@strudel/transpiler';
|
||||||
export * from '@strudel/mini';
|
export * from '@strudel/mini';
|
||||||
export * from '@strudel/tonal';
|
export * from '@strudel/tonal';
|
||||||
export * from '@strudel/webaudio';
|
export * from '@strudel/webaudio';
|
||||||
import { Pattern, evalScope } from '@strudel/core';
|
import { Pattern, evalScope, setTime } from '@strudel/core';
|
||||||
import { initAudioOnFirstClick, registerSynthSounds, webaudioScheduler } from '@strudel/webaudio';
|
import { initAudioOnFirstClick, registerSynthSounds, webaudioScheduler } from '@strudel/webaudio';
|
||||||
// import { registerSoundfonts } from '@strudel/soundfonts';
|
// import { registerSoundfonts } from '@strudel/soundfonts';
|
||||||
import { evaluate as _evaluate } from '@strudel/transpiler';
|
import { evaluate as _evaluate } from '@strudel/transpiler';
|
||||||
|
|
@ -33,11 +33,14 @@ export function initStrudel(options = {}) {
|
||||||
miniAllStrings();
|
miniAllStrings();
|
||||||
const { prebake, ...schedulerOptions } = options;
|
const { prebake, ...schedulerOptions } = options;
|
||||||
|
|
||||||
|
scheduler = webaudioScheduler(schedulerOptions);
|
||||||
initDone = (async () => {
|
initDone = (async () => {
|
||||||
await defaultPrebake();
|
await defaultPrebake();
|
||||||
await prebake?.();
|
await prebake?.();
|
||||||
|
return scheduler;
|
||||||
})();
|
})();
|
||||||
scheduler = webaudioScheduler(schedulerOptions);
|
setTime(() => scheduler.now());
|
||||||
|
return initDone;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.initStrudel = initStrudel;
|
window.initStrudel = initStrudel;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue