-- | Record or overdub into a Buffer.
module Sound.SC3.UGen.Record.RecordBuf where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data RecordBuf = RecordBuf {
  rate :: S.Rate,
  inputArray :: S.UGen,
  bufnum :: S.UGen,
  offset :: S.UGen,
  recLevel :: S.UGen,
  preLevel :: S.UGen,
  run :: S.UGen,
  loop :: S.UGen,
  trigger :: S.UGen,
  doneAction :: S.UGen
  } deriving (Show)
recordBuf :: RecordBuf
recordBuf = RecordBuf {
  rate = S.AR,
  inputArray = 0.0,
  bufnum = 0.0,
  offset = 0.0,
  recLevel = 1.0,
  preLevel = 0.0,
  run = 1.0,
  loop = 1.0,
  trigger = 1.0,
  doneAction = 0.0
  }
mkRecordBuf :: RecordBuf -> S.UGen
mkRecordBuf (RecordBuf r a' b' c' d' e' f' g' h' i') = S.mkOsc r "RecordBuf" [a',b',c',d',e',f',g',h',i'] 1
instance Make RecordBuf where
  ugen = mkRecordBuf