-- | Compressor, expander, limiter, gate, ducker
module Sound.SC3.UGen.Record.Compander where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Compander = Compander {
  input :: S.UGen,
  control :: S.UGen,
  thresh :: S.UGen,
  slopeBelow :: S.UGen,
  slopeAbove :: S.UGen,
  clampTime :: S.UGen,
  relaxTime :: S.UGen
  } deriving (Show)
compander :: Compander
compander = Compander {
  input = 0.0,
  control = 0.0,
  thresh = 0.5,
  slopeBelow = 1.0,
  slopeAbove = 1.0,
  clampTime = 0.01,
  relaxTime = 0.1
  }
mkCompander :: Compander -> S.UGen
mkCompander (Compander  a' b' c' d' e' f' g') = S.mkOsc S.AR "Compander" [a',b',c',d',e',f',g'] 1
instance Make Compander where
  ugen = mkCompander