mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-11 13:48:34 +00:00
add range
This commit is contained in:
parent
e75d8048fe
commit
0e5dc4f368
@ -520,6 +520,11 @@ class Pattern {
|
||||
return this._asNumber().fmap((v) => Math.ceil(v));
|
||||
}
|
||||
|
||||
// Assumes source pattern of numbers in range 0..1
|
||||
range(min, max) {
|
||||
return this.mul(max-min).add(min);
|
||||
}
|
||||
|
||||
union(other) {
|
||||
return this._opleft(other, (a) => (b) => Object.assign({}, a, b));
|
||||
}
|
||||
@ -1102,6 +1107,7 @@ const sub = curry((a, pat) => pat.sub(a));
|
||||
const mul = curry((a, pat) => pat.mul(a));
|
||||
const div = curry((a, pat) => pat.div(a));
|
||||
const union = curry((a, pat) => pat.union(a));
|
||||
const range = curry((a, b, pat) => pat.range(a,b));
|
||||
const every = curry((i, f, pat) => pat.every(i, f));
|
||||
const when = curry((binary, f, pat) => pat.when(binary, f));
|
||||
const off = curry((t, f, pat) => pat.off(t, f));
|
||||
@ -1259,6 +1265,7 @@ export {
|
||||
mul,
|
||||
div,
|
||||
union,
|
||||
range,
|
||||
every,
|
||||
when,
|
||||
off,
|
||||
|
||||
@ -538,4 +538,12 @@ describe('Pattern', function() {
|
||||
)
|
||||
})
|
||||
})
|
||||
describe("range", () => {
|
||||
it("Can change the range of a unipolar pattern", () => {
|
||||
assert.deepStrictEqual(
|
||||
sequence(0,0.25,0.5,0.75).range(1000,1100).firstCycle(),
|
||||
sequence(1000,1025,1050,1075).firstCycle()
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user