home/ atoms/ tidal-loopfirst-cycle-lock

TidalCycles loopFirst repeats only the first cycle of a pattern, freezing later cycles' content

loopFirst p takes the first cycle of pattern p and loops it indefinitely, discarding the content of all subsequent cycles. For a pattern that changes across cycles — e.g. one built with <...> alternation — this pins it to whatever it played in cycle one. loopFirst $ s "<<bd*4 ht*8> cp*4>" will only ever play the bass-drum branch, because that is what cycle one selects. Combined with sometimes, it can randomly re-inject first-cycle events into later cycles, and combined with const it is a building block for fills that momentarily freeze the loop. It is the phrase-level counterpart to linger (which freezes a fraction within a cycle).

Examples

d1 $ loopFirst $ s "<<bd*4 ht*8> cp*4>"   -- only the bd*4 branch
d1 $ every 4 (loopFirst) $ n "<0 1 2 3>" # sound "arpy"  -- freeze every 4th cycle

Assessment

Given s "<a b c d>", what does loopFirst play on every cycle? Contrast loopFirst with linger: at what timescale does each freeze the pattern?

“`loopFirst` is a function that takes a pattern and loops only the first cycle of the pattern.”
corpus · tidalcycles-alteration-reference-ply-chunk-linger-snowball-s · chunk 2