strudel/packages/mini
2023-03-20 19:19:42 -04:00
..
test Uncomment test for random choice operator (|) 2023-03-20 17:46:57 -04:00
index.mjs add barrel exports 2022-05-17 00:22:50 +02:00
krill-parser.js Maintain random seed state in parser, not globally 2023-03-20 14:59:43 -04:00
krill.pegjs Maintain random seed state in parser, not globally 2023-03-20 14:59:43 -04:00
mini.mjs Format code with prettier 2023-03-20 19:19:42 -04:00
package.json add prepublishOnly everywhere 2023-01-29 00:14:07 +01:00
README.md update examples 2023-02-01 16:09:33 +01:00
vite.config.js add mini build 2023-01-28 22:16:04 +01:00

@strudel.cycles/mini

This package contains the mini notation parser and pattern generator.

Install

npm i @strudel.cycles/mini --save

Example

import { mini } from '@strudel.cycles/mini';

const pattern = mini('a [b c*2]');

const events = pattern.firstCycle().map((e) => e.show());
console.log(events);

yields:

(0/1 -> 1/2, 0/1 -> 1/2, a)
(1/2 -> 3/4, 1/2 -> 3/4, b)
(3/4 -> 7/8, 3/4 -> 7/8, c)
(7/8 -> 1/1, 7/8 -> 1/1, c)

Play with @strudel.cycles/mini codesandbox

Mini Notation API

See "Mini Notation" in the Strudel Tutorial

Building the Parser

The parser [krill-parser.js] is generated from krill.pegjs using peggy. To generate the parser, run

npm build:parser