- @strudel/codemirror@1.2.4 - @strudel/core@1.2.4 - @strudel/csound@1.2.5 - @strudel/draw@1.2.4 - @strudel/gamepad@1.2.4 - @strudel/hydra@1.2.4 - @strudel/midi@1.2.5 - @strudel/mini@1.2.4 - @strudel/mondo@1.1.2 - @strudel/motion@1.2.4 - @strudel/mqtt@1.2.4 - @strudel/osc@1.2.4 - @strudel/repl@1.2.5 - @strudel/sampler@0.2.3 - @strudel/serial@1.2.4 - @strudel/soundfonts@1.2.5 - superdough@1.2.5 - @strudel/tonal@1.2.4 - @strudel/transpiler@1.2.4 - @strudel/web@1.2.5 - @strudel/webaudio@1.2.5 - @strudel/xen@1.2.4 |
||
|---|---|---|
| .. | ||
| bench | ||
| test | ||
| .npmignore | ||
| clockworker.js | ||
| controls.mjs | ||
| cyclist.mjs | ||
| drawLine.mjs | ||
| euclid.mjs | ||
| evaluate.mjs | ||
| fraction.mjs | ||
| hap.mjs | ||
| index.mjs | ||
| logger.mjs | ||
| neocyclist.mjs | ||
| package.json | ||
| pattern.mjs | ||
| pick.mjs | ||
| README.md | ||
| repl.mjs | ||
| signal.mjs | ||
| speak.mjs | ||
| state.mjs | ||
| time.mjs | ||
| timespan.mjs | ||
| ui.mjs | ||
| util.mjs | ||
| value.mjs | ||
| vite.config.js | ||
| zyklus.mjs | ||
@strudel/core
This package contains the bare essence of strudel.
Install
npm i @strudel/core --save
Example
import { sequence } from '@strudel/core';
const pattern = sequence('a', ['b', 'c']);
const events = pattern.queryArc(0, 1);
const spans = events.map(
(event) => `${event.value}: ${event.whole.begin.toFraction()} - ${event.whole.end.toFraction()} `,
);
yields:
a: 0 - 1/2
b: 1/2 - 3/4
c: 3/4 - 1
a: 1 - 3/2
b: 3/2 - 7/4
c: 7/4 - 2