-- | A resettable linear ramp between two levels.
module Sound.SC3.UGen.Record.Phasor where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Phasor = Phasor {
  rate :: S.Rate,
  trig :: S.UGen,
  rate_ :: S.UGen,
  start :: S.UGen,
  end :: S.UGen,
  resetPos :: S.UGen
  } deriving (Show)
phasor :: Phasor
phasor = Phasor {
  rate = S.AR,
  trig = 0.0,
  rate_ = 1.0,
  start = 0.0,
  end = 1.0,
  resetPos = 0.0
  }
mkPhasor :: Phasor -> S.UGen
mkPhasor (Phasor r a' b' c' d' e') = S.mkOsc r "Phasor" [a',b',c',d',e'] 1
instance Make Phasor where
  ugen = mkPhasor