-- | FitzHughNagumo Neuron Firing Oscillator
module Sound.SC3.UGen.Record.Fhn2DC where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Fhn2DC = Fhn2DC {
  rate :: S.Rate,
  minfreq :: S.UGen,
  maxfreq :: S.UGen,
  urate :: S.UGen,
  wrate :: S.UGen,
  b0 :: S.UGen,
  b1 :: S.UGen,
  i :: S.UGen,
  u0 :: S.UGen,
  w0 :: S.UGen
  } deriving (Show)
fhn2DC :: Fhn2DC
fhn2DC = Fhn2DC {
  rate = S.AR,
  minfreq = 11025.0,
  maxfreq = 22050.0,
  urate = 0.1,
  wrate = 0.1,
  b0 = 0.6,
  b1 = 0.8,
  i = 0.0,
  u0 = 0.0,
  w0 = 0.0
  }
mkFhn2DC :: Fhn2DC -> S.UGen
mkFhn2DC (Fhn2DC r a' b' c' d' e' f' g' h' i') = S.mkOsc r "Fhn2DC" [a',b',c',d',e',f',g',h',i'] 1
instance Make Fhn2DC where
  ugen = mkFhn2DC