-- | Demand results from demand rate UGens.
module Sound.SC3.UGen.Record.Duty where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Duty = Duty {
  rate :: S.Rate,
  dur :: S.UGen,
  reset :: S.UGen,
  level :: S.UGen,
  doneAction :: S.UGen
  } deriving (Show)
duty :: Duty
duty = Duty {
  rate = S.AR,
  dur = 1.0,
  reset = 0.0,
  level = 1.0,
  doneAction = 0.0
  }
mkDuty :: Duty -> S.UGen
mkDuty (Duty r a' b' c' d') = S.mkOsc r "Duty" [a',b',c',d'] 1
instance Make Duty where
  ugen = mkDuty