-- | Envelope generator for polling values from an Env module Sound.SC3.UGen.Record.IEnvGen where import qualified Sound.SC3.UGen as S import Sound.SC3.UGen.Record data IEnvGen = IEnvGen { rate :: S.Rate, envelope :: S.UGen, index :: S.UGen } deriving (Show) iEnvGen :: IEnvGen iEnvGen = IEnvGen { rate = S.AR, envelope = 0.0, index = 0.0 } mkIEnvGen :: IEnvGen -> S.UGen mkIEnvGen (IEnvGen r a' b') = S.mkOsc r "IEnvGen" [a',b'] 1 instance Make IEnvGen where ugen = mkIEnvGen