strudel/packages/core
2022-06-17 23:23:51 +02:00
..
examples refactor event.duration references 2022-04-23 23:36:26 +02:00
test Implement inside/outside 2022-05-09 18:43:02 +01:00
controls.mjs rewrite webaudio + migrate tunes + empty setters 2022-06-17 23:23:51 +02:00
drawLine.mjs autogenerate doc on build tutorial 2022-05-20 22:15:05 +02:00
euclid.mjs add autogenerated api doc to bottom of tutorial 2022-05-20 21:56:55 +02:00
fraction.mjs redo headers 2022-04-28 14:38:41 +01:00
gist.js redo headers 2022-04-28 14:38:41 +01:00
hap.mjs standardise on hap rather than event, especially in function names 2022-05-05 17:20:36 +01:00
index.mjs small fixes 2022-05-18 00:07:37 +02:00
package-lock.json package locks 2022-06-16 10:30:02 +01:00
package.json Publish 2022-05-19 19:13:46 +02:00
pattern.mjs add onTrigger helper 2022-06-16 21:01:35 +02:00
README.md remove old imports 2022-04-15 21:45:55 +02:00
signal.mjs document non random signal functions 2022-05-28 23:43:42 +02: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 Use this.duration for things 2022-05-01 17:06:26 +01:00
util.mjs standardise on hap rather than event, especially in function names 2022-05-05 17:20:36 +01:00
value.mjs Merge branch 'main' into reset 2022-04-29 16:50:50 +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