module Sound.SC3.UGen.Record.GrainBuf where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data GrainBuf = GrainBuf {
  numChannels :: S.UGen,
  trigger :: S.UGen,
  dur :: S.UGen,
  sndbuf :: S.UGen,
  rate_ :: S.UGen,
  pos :: S.UGen,
  interp :: S.UGen,
  pan :: S.UGen,
  envbufnum :: S.UGen,
  maxGrains :: S.UGen
  } deriving (Show)
grainBuf :: GrainBuf
grainBuf = GrainBuf {
  numChannels = 1.0,
  trigger = 0.0,
  dur = 1.0,
  sndbuf = 0.0,
  rate_ = 1.0,
  pos = 0.0,
  interp = 2.0,
  pan = 0.0,
  envbufnum = -1.0,
  maxGrains = 512.0
  }
mkGrainBuf :: GrainBuf -> S.UGen
mkGrainBuf (GrainBuf  a' b' c' d' e' f' g' h' i' j') = S.mkOsc S.AR "GrainBuf" [a',b',c',d',e',f',g',h',i',j'] 1
instance Make GrainBuf where
  ugen = mkGrainBuf