-- | Slew rate limiter.
module Sound.SC3.UGen.Record.Slew where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Slew = Slew {
  rate :: S.Rate,
  input :: S.UGen,
  up :: S.UGen,
  dn :: S.UGen
  } deriving (Show)
slew :: Slew
slew = Slew {
  rate = S.AR,
  input = 0.0,
  up = 1.0,
  dn = 1.0
  }
mkSlew :: Slew -> S.UGen
mkSlew (Slew r a' b' c') = S.mkOsc r "Slew" [a',b',c'] 1
instance Make Slew where
  ugen = mkSlew