diff --git a/packages/core/strudel.mjs b/packages/core/strudel.mjs index d8e6d525..f5a2f2f1 100644 --- a/packages/core/strudel.mjs +++ b/packages/core/strudel.mjs @@ -583,7 +583,7 @@ class Pattern { return this.innerBind(id); } - squeezeJoin() { + _squeezeJoin() { const pat_of_pats = this; function query(state) { const haps = pat_of_pats.query(state); @@ -616,6 +616,10 @@ class Pattern { return new Pattern(query); } + _squeezeBind(func) { + return this.fmap(func).squeezeBind(); + } + _apply(func) { return func(this); } @@ -678,7 +682,7 @@ class Pattern { } _ply(factor) { - return this.fmap(x => pure(x)._fast(factor)).squeezeJoin() + return this.fmap(x => pure(x)._fast(factor))._squeezeJoin() } // cpm = cycles per minute diff --git a/packages/core/test/pattern.test.mjs b/packages/core/test/pattern.test.mjs index 88d18f32..a42b9a53 100644 --- a/packages/core/test/pattern.test.mjs +++ b/packages/core/test/pattern.test.mjs @@ -491,10 +491,10 @@ describe('Pattern', function() { ) }) }) - describe("squeezeJoin", () => { + describe("_squeezeJoin", () => { it("Can squeeze", () => { assert.deepStrictEqual( - sequence("a", ["a","a"]).fmap(a => fastcat("b", "c")).squeezeJoin().firstCycle(), + sequence("a", ["a","a"]).fmap(a => fastcat("b", "c"))._squeezeJoin().firstCycle(), sequence(["b", "c"],[["b", "c"],["b", "c"]]).firstCycle() ) })