module Sound.SC3.UGen.Record.EnvGen where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data EnvGen = EnvGen {
  rate :: S.Rate,
  envelope :: S.UGen,
  gate :: S.UGen,
  levelScale :: S.UGen,
  levelBias :: S.UGen,
  timeScale :: S.UGen,
  doneAction :: S.UGen
  } deriving (Show)
envGen :: EnvGen
envGen = EnvGen {
  rate = S.AR,
  envelope = 0.0,
  gate = 1.0,
  levelScale = 1.0,
  levelBias = 0.0,
  timeScale = 1.0,
  doneAction = 0.0
  }
mkEnvGen :: EnvGen -> S.UGen
mkEnvGen (EnvGen r a' b' c' d' e' f') = S.mkOsc r "EnvGen" [a',b',c',d',e',f'] 1
instance Make EnvGen where
  ugen = mkEnvGen