patternify slow, early and late

This commit is contained in:
alex 2022-02-06 23:27:37 +00:00
parent de7b67f085
commit 988e81670d

View File

@ -444,20 +444,30 @@ class Pattern {
_slow(factor) {
return this._fast(1/factor)
}
// slow = _patternify(_slow)
slow(factor) {
return this._patternify(Pattern.prototype._slow)(factor)
}
_early(offset) {
// Equivalent of Tidal's <~ operator
offset = Fraction(offset)
return this.withQueryTime(t => t.add(offset)).withEventTime(t => t.sub(offset))
}
// early = _patternify(_early)
early(factor) {
return this._patternify(Pattern.prototype._early)(factor)
}
_late(offset) {
// Equivalent of Tidal's ~> operator
return this._early(0-offset)
}
// late = _patternify(_late)
late(factor) {
return this._patternify(Pattern.prototype._late)(factor)
}
when(binary_pat, func) {
//binary_pat = sequence(binary_pat)