strudel/packages/core
2022-04-13 08:44:38 +01:00
..
test Prettify 2022-04-13 08:38:08 +01:00
euclid.mjs add repl-react + fix deps 2022-03-25 18:46:45 +01:00
fraction.mjs First run at squeezeBind, ref #32 2022-04-12 10:53:22 +01:00
gist.js start packaging 2022-03-25 14:39:25 +01:00
index.mjs start packaging 2022-03-25 14:39:25 +01:00
package-lock.json remove ramda dep + update lockfiles 2022-04-11 22:37:28 +02:00
package.json remove ramda dep + update lockfiles 2022-04-11 22:37:28 +02:00
README.md add core example 2022-03-27 22:25:48 +02:00
strudel.mjs sort classes to top of export list 2022-04-13 08:44:38 +01:00
util.mjs add pipe + compose 2022-04-11 22:31:02 +02:00
value.mjs use own compose 2022-04-11 22:32:53 +02:00

@strudel.cycles/core

This package contains the bare essence of strudel.

Install

npm i @strudel.cycles/core --save

Example

import { sequence, State, TimeSpan } from '@strudel.cycles/core';

const pattern = sequence('a', ['b', 'c']);

const events = pattern.query(new State(new TimeSpan(0, 2)));

const spans = events.map(
  (event) => `${event.value}: ${event.whole.begin.toFraction()} - ${event.whole.end.toFraction()} `,
);

spans:

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

play with @strudel.cycles/core on codesandbox.