From 903c065e2634880b39b6c059027f0a41f5f02d3f Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 22 Apr 2022 17:02:21 +0100 Subject: [PATCH] Use mathematical `mod` in slowcat, fixes #85 --- packages/core/pattern.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index c681cf29..15d0c7eb 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -3,7 +3,7 @@ import Fraction from './fraction.mjs'; import Hap from './hap.mjs'; import State from './state.mjs'; -import { isNote, toMidi, compose, removeUndefineds, flatten, id, listRange, curry } from './util.mjs'; +import { isNote, toMidi, compose, removeUndefineds, flatten, id, listRange, curry, mod } from './util.mjs'; export class Pattern { // the following functions will get patternFactories as nested functions: @@ -828,7 +828,7 @@ export function slowcat(...pats) { pats = pats.map(reify); const query = function (state) { const span = state.span; - const pat_n = Math.floor(span.begin) % pats.length; + const pat_n = mod(span.begin.sam(), pats.length); const pat = pats[pat_n]; if (!pat) { // pat_n can be negative, if the span is in the past..