diff --git a/packages/eval/evaluate.mjs b/packages/eval/evaluate.mjs
index aeff7bdd..2f4d87ca 100644
--- a/packages/eval/evaluate.mjs
+++ b/packages/eval/evaluate.mjs
@@ -20,7 +20,13 @@ export const evalScope = async (...args) => {
console.warn('@strudel.cycles/eval evalScope was called more than once.');
}
scoped = true;
- const modules = await Promise.all(args);
+ const results = await Promise.allSettled(args);
+ const modules = results.filter((result) => result.status === 'fulfilled').map((r) => r.value);
+ results.forEach((result, i) => {
+ if (result.status === 'rejected') {
+ console.warn(`evalScope: module with index ${i} could not be loaded:`, result.reason);
+ }
+ });
Object.assign(globalThis, ...modules, Pattern.prototype.bootstrap());
};
diff --git a/packages/eval/index.mjs b/packages/eval/index.mjs
new file mode 100644
index 00000000..8b2718dd
--- /dev/null
+++ b/packages/eval/index.mjs
@@ -0,0 +1 @@
+export * from './evaluate.mjs';
diff --git a/packages/eval/package.json b/packages/eval/package.json
index f70a6114..e48fa9ad 100644
--- a/packages/eval/package.json
+++ b/packages/eval/package.json
@@ -2,7 +2,8 @@
"name": "@strudel.cycles/eval",
"version": "0.0.5",
"description": "Code evaluator for strudel",
- "main": "evaluate.mjs",
+ "main": "index.mjs",
+ "type": "module",
"directories": {
"test": "test"
},
@@ -13,7 +14,6 @@
"type": "git",
"url": "git+https://github.com/tidalcycles/strudel.git"
},
- "type": "module",
"keywords": [
"tidalcycles",
"strudel",
diff --git a/packages/tone/package.json b/packages/tone/package.json
index dcf9ead6..6502f34a 100644
--- a/packages/tone/package.json
+++ b/packages/tone/package.json
@@ -2,7 +2,7 @@
"name": "@strudel.cycles/tone",
"version": "0.0.6",
"description": "Tone.js API for strudel",
- "main": "tone.mjs",
+ "main": "index.mjs",
"type": "module",
"repository": {
"type": "git",
diff --git a/packages/webaudio/clockworker.mjs b/packages/webaudio/clockworker.mjs
index 5e9b0297..c13f79da 100644
--- a/packages/webaudio/clockworker.mjs
+++ b/packages/webaudio/clockworker.mjs
@@ -10,7 +10,7 @@ const urlifyFunction = (func) => URL.createObjectURL(new Blob([stringifyFunction
const createWorker = (func) => new Worker(urlifyFunction(func));
// this class is basically the tale of two clocks
-class ClockWorker {
+export class ClockWorker {
worker;
audioContext;
interval = 0.2; // query span
@@ -72,4 +72,3 @@ class ClockWorker {
}
}
-export default ClockWorker;
diff --git a/packages/webaudio/index.mjs b/packages/webaudio/index.mjs
index 7c5898ba..65a4b3ea 100644
--- a/packages/webaudio/index.mjs
+++ b/packages/webaudio/index.mjs
@@ -4,6 +4,6 @@ Copyright (C) 2022 Strudel contributors - see .
*/
-export { default as ClockWorker } from './clockworker.mjs';
-export { default as Scheduler } from './scheduler.mjs';
+export * from './clockworker.mjs';
+export * from './scheduler.mjs';
export * from './webaudio.mjs';
diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json
index ee63e6ac..1363d98a 100644
--- a/packages/webaudio/package.json
+++ b/packages/webaudio/package.json
@@ -3,6 +3,7 @@
"version": "0.0.6",
"description": "Web Audio helpers for Strudel",
"main": "index.mjs",
+ "type": "module",
"directories": {
"example": "examples"
},
diff --git a/packages/webaudio/scheduler.mjs b/packages/webaudio/scheduler.mjs
index 847cb2b7..dac8c409 100644
--- a/packages/webaudio/scheduler.mjs
+++ b/packages/webaudio/scheduler.mjs
@@ -4,10 +4,10 @@ Copyright (C) 2022 Strudel contributors - see .
*/
-import ClockWorker from './clockworker.mjs';
+import { ClockWorker } from './clockworker.mjs';
import { State, TimeSpan } from '@strudel.cycles/core';
-class Scheduler {
+export class Scheduler {
worker;
pattern;
constructor({ audioContext, interval = 0.2, onEvent }) {
@@ -41,5 +41,3 @@ class Scheduler {
this.pattern = pat;
}
}
-
-export default Scheduler;
diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs
index 0b4c6f84..316dd038 100644
--- a/packages/webaudio/webaudio.mjs
+++ b/packages/webaudio/webaudio.mjs
@@ -4,17 +4,16 @@ Copyright (C) 2022 Strudel contributors - see .
*/
-import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core';
+// import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core';
+import * as strudel from '@strudel.cycles/core';
import { Tone } from '@strudel.cycles/tone';
+const { Pattern, getFrequency, patternify2 } = strudel;
// let audioContext;
-export const getAudioContext = () => {
- return Tone.getContext().rawContext;
/* if (!audioContext) {
audioContext = new AudioContext();
}
return audioContext; */
-};
const lookahead = 0.2;