unify barrel exports

This commit is contained in:
Felix Roos 2022-05-17 21:38:47 +02:00
parent b59f36f40b
commit fb2f63ee26
9 changed files with 20 additions and 16 deletions

View File

@ -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());
};

1
packages/eval/index.mjs Normal file
View File

@ -0,0 +1 @@
export * from './evaluate.mjs';

View File

@ -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",

View File

@ -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",

View File

@ -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;

View File

@ -4,6 +4,6 @@ Copyright (C) 2022 Strudel contributors - see <https://github.com/tidalcycles/st
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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';

View File

@ -3,6 +3,7 @@
"version": "0.0.6",
"description": "Web Audio helpers for Strudel",
"main": "index.mjs",
"type": "module",
"directories": {
"example": "examples"
},

View File

@ -4,10 +4,10 @@ Copyright (C) 2022 Strudel contributors - see <https://github.com/tidalcycles/st
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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;

View File

@ -4,17 +4,16 @@ Copyright (C) 2022 Strudel contributors - see <https://github.com/tidalcycles/st
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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;