-- | All pass delay line with cubic interpolation.
module Sound.SC3.UGen.Record.AllpassC where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data AllpassC = AllpassC {
  rate :: S.Rate,
  input :: S.UGen,
  maxdelaytime :: S.UGen,
  delaytime :: S.UGen,
  decaytime :: S.UGen
  } deriving (Show)
allpassC :: AllpassC
allpassC = AllpassC {
  rate = S.AR,
  input = 0.0,
  maxdelaytime = 0.2,
  delaytime = 0.2,
  decaytime = 1.0
  }
mkAllpassC :: AllpassC -> S.UGen
mkAllpassC (AllpassC r a' b' c' d') = S.mkOsc r "AllpassC" [a',b',c',d'] 1
instance Make AllpassC where
  ugen = mkAllpassC