-- | henon map 2D chaotic generator
module Sound.SC3.UGen.Record.Henon2DC where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Henon2DC = Henon2DC {
  rate :: S.Rate,
  minfreq :: S.UGen,
  maxfreq :: S.UGen,
  a :: S.UGen,
  b :: S.UGen,
  x0 :: S.UGen,
  y0 :: S.UGen
  } deriving (Show)
henon2DC :: Henon2DC
henon2DC = Henon2DC {
  rate = S.AR,
  minfreq = 11025.0,
  maxfreq = 22050.0,
  a = 1.4,
  b = 0.3,
  x0 = 0.30501993062401,
  y0 = 0.20938865431933
  }
mkHenon2DC :: Henon2DC -> S.UGen
mkHenon2DC (Henon2DC r a' b' c' d' e' f') = S.mkOsc r "Henon2DC" [a',b',c',d',e',f'] 1
instance Make Henon2DC where
  ugen = mkHenon2DC