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