module Sound.SC3.UGen.Record.GrainFM where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data GrainFM = GrainFM {
  numChannels :: S.UGen,
  trigger :: S.UGen,
  dur :: S.UGen,
  carfreq :: S.UGen,
  modfreq :: S.UGen,
  index :: S.UGen,
  pan :: S.UGen,
  envbufnum :: S.UGen
  } deriving (Show)
grainFM :: GrainFM
grainFM = GrainFM {
  numChannels = 1.0,
  trigger = 0.0,
  dur = 1.0,
  carfreq = 440.0,
  modfreq = 200.0,
  index = 1.0,
  pan = 0.0,
  envbufnum = -1.0
  }
mkGrainFM :: GrainFM -> S.UGen
mkGrainFM (GrainFM  a' b' c' d' e' f' g' h') = S.mkOsc S.AR "GrainFM" [a',b',c',d',e',f',g',h'] 1
instance Make GrainFM where
  ugen = mkGrainFM