Merge remote-tracking branch 'origin/main' into uzu
This commit is contained in:
commit
2da03ab46f
43 changed files with 1726 additions and 418 deletions
|
|
@ -2108,11 +2108,13 @@ export const linger = register(
|
|||
|
||||
/**
|
||||
* Samples the pattern at a rate of n events per cycle. Useful for turning a continuous pattern into a discrete one.
|
||||
* @name segment
|
||||
* @synonyms seg
|
||||
* @param {number} segments number of segments per cycle
|
||||
* @example
|
||||
* note(saw.range(40,52).segment(24))
|
||||
*/
|
||||
export const segment = register('segment', function (rate, pat) {
|
||||
export const { segment, seg } = register(['segment', 'seg'], function (rate, pat) {
|
||||
return pat.struct(pure(true)._fast(rate)).setSteps(rate);
|
||||
});
|
||||
|
||||
|
|
@ -2488,16 +2490,24 @@ export const bypass = register(
|
|||
);
|
||||
|
||||
/**
|
||||
* Loops the pattern inside at `offset` for `cycles`.
|
||||
* Loops the pattern inside an `offset` for `cycles`.
|
||||
* If you think of the entire span of time in cycles as a ribbon, you can cut a single piece and loop it.
|
||||
* @name ribbon
|
||||
* @synonym rib
|
||||
* @param {number} offset start point of loop in cycles
|
||||
* @param {number} cycles loop length in cycles
|
||||
* @example
|
||||
* note("<c d e f>").ribbon(1, 2).fast(2)
|
||||
* note("<c d e f>").ribbon(1, 2)
|
||||
* @example
|
||||
* // Looping a portion of randomness
|
||||
* note(irand(8).segment(4).scale('C3 minor')).ribbon(1337, 2)
|
||||
* n(irand(8).segment(4)).scale("c:pentatonic").ribbon(1337, 2)
|
||||
* @example
|
||||
* // rhythm generator
|
||||
* s("bd!16?").ribbon(29,.5)
|
||||
*/
|
||||
export const ribbon = register('ribbon', (offset, cycles, pat) => pat.early(offset).restart(pure(1).slow(cycles)));
|
||||
export const { ribbon, rib } = register(['ribbon', 'rib'], (offset, cycles, pat) =>
|
||||
pat.early(offset).restart(pure(1).slow(cycles)),
|
||||
);
|
||||
|
||||
export const hsla = register('hsla', (h, s, l, a, pat) => {
|
||||
return pat.color(`hsla(${h}turn,${s * 100}%,${l * 100}%,${a})`);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue