Difference between revisions of "every"

From TidalCycles userbase
Jump to: navigation, search
m
Line 18: Line 18:
 
Otherwise, the <syntaxhighlight lang="haskell" inline>every</syntaxhighlight> function will think it is being passed too many parameters.
 
Otherwise, the <syntaxhighlight lang="haskell" inline>every</syntaxhighlight> function will think it is being passed too many parameters.
  
[[Category:Functions]] [[Category:Higher-order functions]]
+
[[Category:Functions]] [[Category:Higher-order functions]] [[Category:Conditional Transformers]]

Revision as of 21:22, 25 November 2018

Type: every :: Pattern Int -> (Pattern a -> Pattern a) -> Pattern a -> Pattern a

every is function, that allows you to apply another function conditionally. It takes three inputs, how often the function should be applied (e.g. 3 to apply it every 3 cycles), the function to be applied, and the pattern you are applying it to.

For example to reverse a pattern every three cycles (and for the other two play it normally):

d1 $ every 3 rev $ n "0 1 [~ 2] 3" # sound "arpy"

Note that if the function you're applying requires additional parameters itself (such as fast 2 to make a pattern twice as fast), then you'll need to wrap it in parenthesis, like so:

d1 $ every 3 (fast 2) $ n "0 1 [~ 2] 3" # sound "arpy"

Otherwise, the every function will think it is being passed too many parameters.