{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeFamilies, NoMonoLocalBinds #-}
{-# LANGUAGE NoIncoherentInstances #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE NoUndecidableInstances #-}
module Vivid.UGens.Dynamics (
compander
, limiter
, normalizer
) where
import Vivid.SC.SynthDef.Types (CalculationRate(..))
import Vivid.SynthDef
import Vivid.SynthDef.FromUA
import Vivid.UGens.Args
compander :: (Args '["in"] '["control","threshold","slopeBelow","slopeAbove","clampSecs","relaxSecs"] a) => a -> SDBody a Signal
compander = makeUGen
"Compander" AR
(Vs::Vs '["in","control","threshold","slopeBelow","slopeAbove","clampSecs","relaxSecs"])
(control_ (0::Float), thresh_ (0.5::Float), slopeBelow_ (1::Float), slopeAbove_ (1::Float), clampTime_ (0.01::Float), relaxTime_ (0.1::Float))
limiter :: (Args '["in"] '["level", "secs"] a) => a -> SDBody a Signal
limiter = makeUGen
"Limiter" AR
(Vs::Vs '["in","level","secs"])
(level_ (1::Float), secs_ (0.01::Float))
normalizer :: (Args '["in"] '["level", "secs"] a) => a -> SDBody a Signal
normalizer = makeUGen
"Normalizer" AR
(Vs::Vs '["in","level","secs"])
(level_ (1::Float), secs_ (0.01::Float))