-- | First Order Ambisonic (FOA) psychoacoustic shelf filter
module Sound.SC3.UGen.Record.FoaPsychoShelf where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data FoaPsychoShelf = FoaPsychoShelf {
  w :: S.UGen,
  x :: S.UGen,
  y :: S.UGen,
  z :: S.UGen,
  freq :: S.UGen,
  k0 :: S.UGen,
  k1 :: S.UGen
  } deriving (Show)
foaPsychoShelf :: FoaPsychoShelf
foaPsychoShelf = FoaPsychoShelf {
  w = 0.0,
  x = 0.0,
  y = 0.0,
  z = 0.0,
  freq = 400.0,
  k0 = 0.0,
  k1 = 0.0
  }
mkFoaPsychoShelf :: FoaPsychoShelf -> S.UGen
mkFoaPsychoShelf (FoaPsychoShelf  a' b' c' d' e' f' g') = S.mkOsc S.AR "FoaPsychoShelf" [a',b',c',d',e',f',g'] 4
instance Make FoaPsychoShelf where
  ugen = mkFoaPsychoShelf