diff options
Diffstat (limited to 'src/unheard/cycles.clj')
| -rw-r--r-- | src/unheard/cycles.clj | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/unheard/cycles.clj b/src/unheard/cycles.clj index 3cbfb97..a067142 100644 --- a/src/unheard/cycles.clj +++ b/src/unheard/cycles.clj @@ -1,4 +1,32 @@ -(ns unheard.cycles) +(ns unheard.cycles + "Pattern composition library for temporal sequences. + + This library provides combinators and modifiers for building hierarchical + pattern structures that unfold into concrete time intervals. It supports + sequential, parallel, and forking composition, along with temporal + transformations like rate scaling, elongation, and replication. + + The design is inspired by TidalCycles and Strudel, with each function + documented alongside its equivalent operator from those systems. + + Core Combinators: + - l (list/fastcat): Sequential subdivision in lockstep + - f (fork/slowcat): Sequential cycling across iterations + - p (parallel/stack): Simultaneous overlay + + Modifiers: + - rate: Speed scaling (* and / operators) + - elongate: Temporal weighting (@ operator) + - rep: Element replication (! operator) + + Unique Operators: + - paste: Template-based pattern construction (not in TidalCycles/Strudel) + + See: https://tidalcycles.org + https://strudel.cc + + Credit: TidalCycles by Alex McLean + Strudel by Felix Roos and contributors") (defn l "List combinator: subdivides time evenly among children, advancing in lockstep. |
