strudel/packages/core
2023-06-11 19:54:55 +02:00
..
examples + simplify vanilla setup drastically 2023-05-05 23:43:07 +02:00
test Update solmization.test.js 2023-05-24 18:58:11 +01:00
.npmignore hotfix: npm ignore examples folder 2022-11-06 19:36:01 +01:00
animate.mjs fix: controls import broke on ssr 2023-04-29 07:45:21 +02:00
color.mjs better color support 2022-12-26 22:13:41 +01:00
controls.mjs add compound adsr + ds controls 2023-05-29 12:39:36 +02:00
cyclist.mjs fix: reset time on stop 2023-03-29 22:05:13 +02:00
draw.mjs fix: dupe style.css to Repl.css 2023-05-12 11:56:50 +02:00
drawLine.mjs test all in source examples 2022-11-03 14:47:27 +01:00
euclid.mjs weave and weaveWith (#465) 2023-02-18 00:00:18 +00:00
evaluate.mjs no need to warn if evalScope is called more often 2023-02-28 23:54:40 +01:00
fraction.mjs fix website build 2023-01-28 20:31:23 +01:00
gist.js cache gist by default for faster eval 2022-06-18 23:06:21 +02:00
hap.mjs add helper hap.ensureObjectValue 2023-02-24 10:15:06 +01:00
index.mjs Revert "refactor: remove old draw logic" 2023-05-10 11:44:55 +02:00
logger.mjs basic astro docs 2022-12-19 23:23:31 +01:00
package.json bump web pkg dependencies 2023-05-10 12:11:51 +02:00
pattern.mjs fix: division by zero 2023-06-11 13:15:52 +02:00
pianoroll.mjs add label support to pianoroll 2023-06-09 00:25:54 +02:00
README.md update core examples 2023-01-29 23:27:35 +01:00
repl.mjs Revert "refactor: remove old draw logic" 2023-05-10 11:44:55 +02:00
signal.mjs add run + test + docs 2023-01-19 11:47:11 +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 Revert "refactor: remove old draw logic" 2023-05-10 11:44:55 +02:00
util.mjs Merge remote-tracking branch 'upstream/main' into branch-daria 2023-06-11 19:54:55 +02:00
value.mjs delete bare value before numeral union 2022-12-09 11:00:28 +01:00
vite.config.js add core build 2023-01-28 22:05:11 +01:00
zyklus.mjs implement cps + add baasic tempo control ui 2023-02-28 13:00:35 +01:00

@strudel.cycles/core

This package contains the bare essence of strudel.

Install

npm i @strudel.cycles/core --save

Example

import { sequence } from '@strudel.cycles/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