-- | Map a linear range to an exponential range module Sound.SC3.UGen.Record.LinExp where import qualified Sound.SC3.UGen as S import Sound.SC3.UGen.Record data LinExp = LinExp { rate :: S.Rate, input :: S.UGen, srclo :: S.UGen, srchi :: S.UGen, dstlo :: S.UGen, dsthi :: S.UGen } deriving (Show) linExp :: LinExp linExp = LinExp { rate = S.AR, input = 0.0, srclo = 0.0, srchi = 1.0, dstlo = 1.0, dsthi = 2.0 } mkLinExp :: LinExp -> S.UGen mkLinExp (LinExp r a' b' c' d' e') = S.mkOsc r "LinExp" [a',b',c',d',e'] 1 instance Make LinExp where ugen = mkLinExp