module Sound.SC3.UGen.UGen.Lift where
import Sound.SC3.UGen.UGen
import Sound.SC3.UGen.UId
liftU :: (UId m) =>
(Int -> a -> UGen) ->
(a -> m UGen)
liftU f a = do
n <- generateUId
return (f n a)
liftU2 :: (UId m) =>
(Int -> a -> b -> UGen) ->
(a -> b -> m UGen)
liftU2 f a b = do
n <- generateUId
return (f n a b)
liftU3 :: (UId m) =>
(Int -> a -> b -> c -> UGen) ->
(a -> b -> c -> m UGen)
liftU3 f a b c = do
n <- generateUId
return (f n a b c)
liftU4 :: (UId m) =>
(Int -> a -> b -> c -> d -> UGen) ->
(a -> b -> c -> d -> m UGen)
liftU4 f a b c d = do
n <- generateUId
return (f n a b c d)