-- | Schmidt trigger.
module Sound.SC3.UGen.Record.Schmidt where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Schmidt = Schmidt {
  rate :: S.Rate,
  input :: S.UGen,
  lo :: S.UGen,
  hi :: S.UGen
  } deriving (Show)
schmidt :: Schmidt
schmidt = Schmidt {
  rate = S.AR,
  input = 0.0,
  lo = 0.0,
  hi = 1.0
  }
mkSchmidt :: Schmidt -> S.UGen
mkSchmidt (Schmidt r a' b' c') = S.mkOsc r "Schmidt" [a',b',c'] 1
instance Make Schmidt where
  ugen = mkSchmidt