mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-24 12:08:28 +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));
|
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) {
|
union(other) {
|
||||||
return this._opleft(other, (a) => (b) => Object.assign({}, a, b));
|
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 mul = curry((a, pat) => pat.mul(a));
|
||||||
const div = curry((a, pat) => pat.div(a));
|
const div = curry((a, pat) => pat.div(a));
|
||||||
const union = curry((a, pat) => pat.union(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 every = curry((i, f, pat) => pat.every(i, f));
|
||||||
const when = curry((binary, f, pat) => pat.when(binary, f));
|
const when = curry((binary, f, pat) => pat.when(binary, f));
|
||||||
const off = curry((t, f, pat) => pat.off(t, f));
|
const off = curry((t, f, pat) => pat.off(t, f));
|
||||||
@ -1259,6 +1265,7 @@ export {
|
|||||||
mul,
|
mul,
|
||||||
div,
|
div,
|
||||||
union,
|
union,
|
||||||
|
range,
|
||||||
every,
|
every,
|
||||||
when,
|
when,
|
||||||
off,
|
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