-- | Buffer based all pass delay line with cubic interpolation.
module Sound.SC3.UGen.Record.BufAllpassC where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data BufAllpassC = BufAllpassC {
  buf :: S.UGen,
  input :: S.UGen,
  delaytime :: S.UGen,
  decaytime :: S.UGen
  } deriving (Show)
bufAllpassC :: BufAllpassC
bufAllpassC = BufAllpassC {
  buf = 0.0,
  input = 0.0,
  delaytime = 0.2,
  decaytime = 1.0
  }
mkBufAllpassC :: BufAllpassC -> S.UGen
mkBufAllpassC (BufAllpassC  a' b' c' d') = S.mkOsc S.AR "BufAllpassC" [a',b',c',d'] 1
instance Make BufAllpassC where
  ugen = mkBufAllpassC