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)