-- | Basic psychoacoustic amplitude compensation (ANSI A-weighting curve).
module Sound.SC3.UGen.Record.AmpCompA where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data AmpCompA = AmpCompA {
  rate :: S.Rate,
  freq :: S.UGen,
  root :: S.UGen,
  minAmp :: S.UGen,
  rootAmp :: S.UGen
  } deriving (Show)
ampCompA :: AmpCompA
ampCompA = AmpCompA {
  rate = S.AR,
  freq = 1000.0,
  root = 0.0,
  minAmp = 0.32,
  rootAmp = 1.0
  }
mkAmpCompA :: AmpCompA -> S.UGen
mkAmpCompA (AmpCompA r a' b' c' d') = S.mkOsc r "AmpCompA" [a',b',c',d'] 1
instance Make AmpCompA where
  ugen = mkAmpCompA