-- | physical model of resonating spring
module Sound.SC3.UGen.Record.Spring where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Spring = Spring {
  rate :: S.Rate,
  input :: S.UGen,
  spring_ :: S.UGen,
  damp :: S.UGen
  } deriving (Show)
spring :: Spring
spring = Spring {
  rate = S.AR,
  input = 0.0,
  spring_ = 1.0,
  damp = 0.0
  }
mkSpring :: Spring -> S.UGen
mkSpring (Spring r a' b' c') = S.mkOsc r "Spring" [a',b',c'] 1
instance Make Spring where
  ugen = mkSpring