1/* 2index.mjs - <short description TODO> 3Copyright (C) 2025 Strudel contributors - see <https://codeberg.org/uzu/strudel/src/branch/main/packages/core/index.mjs> 4This 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/>. 5*/ 6 7import * as controls from './controls.mjs'; // legacy 8export * from './euclid.mjs'; 9import Fraction from './fraction.mjs'; 10import createClock from './zyklus.mjs'; 11import { logger } from './logger.mjs'; 12export { Fraction, controls, createClock }; 13export * from './controls.mjs'; 14export * from './cyclist.mjs'; 15export * from './evaluate.mjs'; 16export * from './hap.mjs'; 17export * from './impure.mjs'; 18export * from './logger.mjs'; 19export * from './pattern.mjs'; 20export * from './pick.mjs'; 21export * from './repl.mjs'; 22export * from './signal.mjs'; 23export * from './speak.mjs'; 24export * from './state.mjs'; 25export * from './schedulerState.mjs'; 26export * from './timespan.mjs'; 27export * from './ui.mjs'; 28export * from './util.mjs'; 29export { default as drawLine } from './drawLine.mjs'; 30// below won't work with runtime.mjs (json import fails) 31/* import * as p from './package.json'; 32export const version = p.version; */ 33logger('🌀 @strudel/core loaded 🌀'); 34if (globalThis._strudelLoaded) { 35 console.warn( 36 `@strudel/core was loaded more than once... 37This might happen when you have multiple versions of strudel installed. 38Please check with "npm ls @strudel/core".`, 39 ); 40} 41globalThis._strudelLoaded = true;