strudel/packages/core
Felix Roos b312ff63a9
Publish
- @strudel/codemirror@1.2.2
 - @strudel/core@1.2.2
 - @strudel/csound@1.2.3
 - @strudel/draw@1.2.2
 - @strudel/gamepad@1.2.2
 - @strudel/hydra@1.2.2
 - @strudel/midi@1.2.3
 - @strudel/mini@1.2.2
 - @strudel/motion@1.2.2
 - @strudel/mqtt@1.2.2
 - @strudel/osc@1.2.2
 - @strudel/repl@1.2.3
 - @strudel/serial@1.2.2
 - @strudel/soundfonts@1.2.3
 - superdough@1.2.3
 - @strudel/tonal@1.2.2
 - @strudel/transpiler@1.2.2
 - @strudel/web@1.2.3
 - @strudel/webaudio@1.2.3
 - @strudel/xen@1.2.2
2025-05-29 23:58:35 +02:00
..
bench Polish, rename, and document stepwise functions (#1262) 2025-02-02 20:26:44 +00:00
test change behaviour of polymeter, and remove polymeterSteps (#1302) 2025-03-04 18:17:37 +00:00
.npmignore hotfix: npm ignore examples folder 2022-11-06 19:36:01 +01:00
clockworker.js prettier 2024-08-18 12:08:40 -04:00
controls.mjs fixed 2025-05-29 14:32:52 +02:00
cyclist.mjs Make cps patternable (#1001) 2024-11-30 09:09:36 +00:00
drawLine.mjs test all in source examples 2022-11-03 14:47:27 +01:00
euclid.mjs feat: can now invert euclid pulses with negative numbers 2024-02-25 14:43:02 +01:00
evaluate.mjs prettier 2024-07-10 19:11:06 -04:00
fraction.mjs Fix bug in Fraction.lcm (#1133) 2024-06-18 22:58:08 +01:00
hap.mjs fix: allow multiple visuals for the same pattern 2024-03-28 09:31:12 +01:00
index.mjs Preserve tactus for 'degrade' and friends, and tidy up 'pick' and friends (#1205) 2024-10-30 21:28:31 +01:00
logger.mjs add debounce to logger 2024-02-29 04:25:00 +01:00
neocyclist.mjs prettier 2024-08-18 12:08:40 -04:00
package.json Publish 2025-05-29 23:58:35 +02:00
pattern.mjs preserve stepcount in chunks (#1358) 2025-05-29 12:14:18 +02:00
pick.mjs fix: typo on docs causing problems with autocompletion. (#1350) 2025-05-18 20:43:04 +01:00
README.md the big rename: @strudel.cycles/* -> @strudel/* 2024-01-18 09:54:37 +01:00
repl.mjs Documentation for all/each, and bugfix for each (#1233) 2024-12-29 12:16:08 +00:00
signal.mjs fix: typo on docs causing problems with autocompletion. (#1350) 2025-05-18 20:43:04 +01:00
speak.mjs refactor speak 2022-12-10 22:56:08 +01:00
state.mjs redo headers 2022-04-28 14:38:41 +01:00
time.mjs Revert "refactor: remove old draw logic" 2023-05-10 11:44:55 +02:00
timespan.mjs code format 2022-12-13 21:32:03 +01:00
ui.mjs remove this mess 2024-03-15 09:48:04 +01:00
util.mjs format 2025-01-14 00:06:57 -05:00
value.mjs better warning 2024-03-30 15:05:52 +01:00
vite.config.js Update base path build setting for core and repl packages 2024-06-11 10:02:57 -04:00
zyklus.mjs fix: cyclist desync 2024-04-05 12:23:04 +02:00

@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