strudel/packages/core
2022-11-06 15:50:53 +01:00
..
examples add vite vanilla js repl example 2022-11-06 15:50:53 +01:00
test fix: test 2022-11-01 21:54:25 +01:00
clockworker.mjs fix nano-repl prod build 2022-08-23 18:23:36 +02:00
controls.mjs code format 2022-11-04 20:14:57 +01:00
cyclist.mjs add vite vanilla js repl example 2022-11-06 15:50:53 +01:00
drawLine.mjs test all in source examples 2022-11-03 14:47:27 +01:00
euclid.mjs add note calls everywhere 2022-10-29 17:38:54 +02:00
evaluate.mjs move evaluate logic without transpiler to core 2022-11-06 12:12:43 +01:00
fraction.mjs redo headers 2022-04-28 14:38:41 +01:00
gist.js cache gist by default for faster eval 2022-06-18 23:06:21 +02:00
hap.mjs fix snapshots for objects 2022-06-18 00:38:51 +02:00
index.mjs add vite vanilla js repl example 2022-11-06 15:50:53 +01:00
package-lock.json Publish 2022-08-14 17:56:28 +02:00
package.json Publish 2022-08-14 17:56:28 +02:00
pattern.mjs remove log 2022-11-03 14:57:46 +01:00
README.md remove old imports 2022-04-15 21:45:55 +02:00
repl.mjs add vite vanilla js repl example 2022-11-06 15:50:53 +01:00
scheduler.mjs fix latency issues for larger intervals 2022-08-23 21:52:24 +02:00
signal.mjs support object arithmetic 2022-11-01 21:31:39 +01:00
speak.mjs fix tests 2022-05-18 00:18:12 +02:00
state.mjs redo headers 2022-04-28 14:38:41 +01:00
timespan.mjs Fix zero length queries WIP (#234) 2022-10-29 23:23:10 +01:00
util.mjs Merge remote-tracking branch 'origin/main' into general-purpose-scheduler 2022-11-06 11:06:32 +01:00
value.mjs Merge branch 'main' into reset 2022-04-29 16:50:50 +01:00
zyklus.mjs another round of scheduling 2022-08-26 23:58:39 +02: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