-- | Demand rate envelope generator module Sound.SC3.UGen.Record.DemandEnvGen where import qualified Sound.SC3.UGen as S import Sound.SC3.UGen.Record data DemandEnvGen = DemandEnvGen { rate :: S.Rate, level :: S.UGen, dur :: S.UGen, shape :: S.UGen, curve :: S.UGen, gate :: S.UGen, reset :: S.UGen, levelScale :: S.UGen, levelBias :: S.UGen, timeScale :: S.UGen, doneAction :: S.UGen } deriving (Show) demandEnvGen :: DemandEnvGen demandEnvGen = DemandEnvGen { rate = S.AR, level = 0.0, dur = 0.0, shape = 1.0, curve = 0.0, gate = 1.0, reset = 1.0, levelScale = 1.0, levelBias = 0.0, timeScale = 1.0, doneAction = 0.0 } mkDemandEnvGen :: DemandEnvGen -> S.UGen mkDemandEnvGen (DemandEnvGen r a' b' c' d' e' f' g' h' i' j') = S.mkOsc r "DemandEnvGen" [a',b',c',d',e',f',g',h',i',j'] 1 instance Make DemandEnvGen where ugen = mkDemandEnvGen