Alex McLean 873a412179
pick now accepts lookup tables, with alternate cycle squeezing behaviour as new inhabit function (#918)
- the args for `pick` are now reversed (breaking change!)
- `pick` is also now a method on the inhabited pattern
- `pick` now also accepts a lookup table
- `inhabit` added with same behaviour as `pick`, except cycles from source patterns are squeezed into events of inhabited patterns
- Also some general doc tidying, sorry for the noise..
- There is now also `pickmod` and `inhabitmod`, for wrapping indexes around rather than clamping them
2024-01-18 16:45:39 +00:00
..
2022-11-06 19:36:01 +01:00
2023-04-29 07:45:21 +02:00
2022-12-26 22:13:41 +01:00
2023-12-25 20:42:20 -05:00
2023-12-28 18:03:50 +01:00
2022-11-03 14:47:27 +01:00
2023-11-11 17:03:21 +01:00
2023-11-16 06:52:47 +01:00
2023-01-28 20:31:23 +01:00
2023-06-12 22:39:32 +02:00
2022-12-19 23:23:31 +01:00
2024-01-18 09:59:57 +01:00
2023-12-29 15:03:26 +01:00
2022-12-10 22:56:08 +01:00
2022-04-28 14:38:41 +01:00
2022-12-13 21:32:03 +01:00
2023-10-27 21:29:31 +02:00
2023-12-30 23:21:34 +01:00
2023-12-25 20:42:20 -05:00

@strudel/core

This package contains the bare essence of strudel.

Install

npm i @strudel/core --save

Example

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