strudel/packages/core
2022-12-07 19:07:55 +00:00
..
examples simplify without-audio example 2022-11-24 20:56:09 +01:00
test Switch 'operators' from .whatHow to .what.how, and make sure there are toplevel curried functions for all of them. Rename util.mod to util._mod, to make room for toplevel 'operator' of that name. (#285) 2022-12-07 19:07:55 +00:00
.npmignore hotfix: npm ignore examples folder 2022-11-06 19:36:01 +01:00
controls.mjs Switch 'operators' from .whatHow to .what.how, and make sure there are toplevel curried functions for all of them. Rename util.mod to util._mod, to make room for toplevel 'operator' of that name. (#285) 2022-12-07 19:07:55 +00:00
cyclist.mjs fix first highlights 2022-11-13 02:00:09 +01:00
draw.mjs add eslint + fix lint errors 2022-11-24 15:30:11 +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 draw stuff from tone to core + fix getPhase 2022-11-13 01:42:00 +01:00
fraction.mjs fix: #194 2022-11-21 21:59:08 +01:00
gist.js cache gist by default for faster eval 2022-06-18 23:06:21 +02:00
hap.mjs can now have multiple triggers 2022-11-12 16:52:00 +01:00
index.mjs move draw stuff from tone to core + fix getPhase 2022-11-13 01:42:00 +01:00
logger.mjs logger works now outside of react 2022-11-12 11:50:39 +01:00
package-lock.json Publish 2022-11-17 11:09:54 +01:00
package.json Publish 2022-11-17 11:09:54 +01:00
pattern.mjs Switch 'operators' from .whatHow to .what.how, and make sure there are toplevel curried functions for all of them. Rename util.mod to util._mod, to make room for toplevel 'operator' of that name. (#285) 2022-12-07 19:07:55 +00:00
pianoroll.mjs add eslint + fix lint errors 2022-11-24 15:30:11 +01:00
README.md remove old imports 2022-04-15 21:45:55 +02:00
repl.mjs repl: optional eval callbacks 2022-11-24 20:13:04 +01:00
signal.mjs Tidying up core (#256) 2022-11-22 08:51:25 +00:00
speak.mjs add eslint + fix lint errors 2022-11-24 15:30:11 +01:00
state.mjs redo headers 2022-04-28 14:38:41 +01:00
time.mjs fix first highlights 2022-11-13 02:00:09 +01:00
timespan.mjs Fix zero length queries WIP (#234) 2022-10-29 23:23:10 +01:00
ui.mjs remove hideHeader function 2022-11-13 16:54:45 +01:00
util.mjs Switch 'operators' from .whatHow to .what.how, and make sure there are toplevel curried functions for all of them. Rename util.mod to util._mod, to make room for toplevel 'operator' of that name. (#285) 2022-12-07 19:07:55 +00:00
value.mjs Merge branch 'main' into reset 2022-04-29 16:50:50 +01:00
zyklus.mjs started refac repl to new scheduler + transpiler 2022-11-10 12:07:36 +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