hsc3-lang-0.8: Help/Pattern/List/pclutch.help.lhs
clutch :: [a] -> [Bool] -> [a]
pclutch :: P a -> P Bool -> P a
i - input
c - clutch
Sample and hold a pattern. For true values in the control pattern,
step the value pattern, else hold the previous value.
> import Sound.SC3.Lang.Pattern.List
> let { p = pseq [1, 2, 3, 4, 5] 3
> ; q = pbool (pseq [1, 0, 1, 0, 0, 0, 1, 1] 1) }
> in pclutch p q
Note the initialization behavior, nothing
is generated until the first true value.
> let { p = pseq [1, 2, 3, 4, 5] 3
> ; q = pbool (pseq [0, 0, 0, 1, 0, 0, 1, 0, 1] 1) }
> in pclutch p q