diff --git a/src/Sound/Tidal/Core.hs b/src/Sound/Tidal/Core.hs index 0b0b86bd6..4079e2e43 100644 --- a/src/Sound/Tidal/Core.hs +++ b/src/Sound/Tidal/Core.hs @@ -329,7 +329,10 @@ compressTo :: Arc -> Pattern a -> Pattern a compressTo = __compressTo repeatCycles :: Int -> Pattern a -> Pattern a -repeatCycles n p = fastcat (replicate n p) +repeatCycles n p = cat (replicate n p) + +fastRepeatCycles :: Int -> Pattern a -> Pattern a +fastRepeatCycles n p = cat (replicate n p) -- | * Higher order functions diff --git a/src/Sound/Tidal/UI.hs b/src/Sound/Tidal/UI.hs index 7a4ef5e85..3fb89fae7 100644 --- a/src/Sound/Tidal/UI.hs +++ b/src/Sound/Tidal/UI.hs @@ -143,7 +143,7 @@ _unDegradeBy :: Double -> Pattern a -> Pattern a _unDegradeBy x p = fmap fst $ filterValues ((<= x) . snd) $ (,) <$> p <*> rand degradeOverBy :: Int -> Pattern Double -> Pattern a -> Pattern a -degradeOverBy i tx p = unwrap $ (\x -> (fmap fst $ filterValues ((> x) . snd) $ (,) <$> p <*> repeatCycles i rand)) <$> (slow (fromIntegral i) tx) +degradeOverBy i tx p = unwrap $ (\x -> (fmap fst $ filterValues ((> x) . snd) $ (,) <$> p <*> fastRepeatCycles i rand)) <$> (slow (fromIntegral i) tx) {- | Use @sometimesBy@ to apply a given function "sometimes". For example, the @@ -1418,3 +1418,4 @@ tabby n p p' = stack [maskedWarp, warpP = thread warp p maskedWeft = mask (every 2 rev $ _fast ((n)%2) $ fastCat [silence, pure True]) weftP maskedWarp = mask (every 2 rev $ _fast ((n)%2) $ fastCat [pure True, silence]) warpP +