-- | A Karplus-Strong UGen module Sound.SC3.UGen.Record.Pluck where import qualified Sound.SC3.UGen as S import Sound.SC3.UGen.Record data Pluck = Pluck { input :: S.UGen, trig :: S.UGen, maxdelaytime :: S.UGen, delaytime :: S.UGen, decaytime :: S.UGen, coef :: S.UGen } deriving (Show) pluck :: Pluck pluck = Pluck { input = 0.0, trig = 1.0, maxdelaytime = 0.2, delaytime = 0.2, decaytime = 1.0, coef = 0.5 } mkPluck :: Pluck -> S.UGen mkPluck (Pluck a' b' c' d' e' f') = S.mkOsc S.AR "Pluck" [a',b',c',d',e',f'] 1 instance Make Pluck where ugen = mkPluck