module Sound.SC3.UGen.Record.GVerb where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data GVerb = GVerb {
  input :: S.UGen,
  roomsize :: S.UGen,
  revtime :: S.UGen,
  damping :: S.UGen,
  inputbw :: S.UGen,
  spread :: S.UGen,
  drylevel :: S.UGen,
  earlyreflevel :: S.UGen,
  taillevel :: S.UGen,
  maxroomsize :: S.UGen
  } deriving (Show)
gVerb :: GVerb
gVerb = GVerb {
  input = 0.0,
  roomsize = 10.0,
  revtime = 3.0,
  damping = 0.5,
  inputbw = 0.5,
  spread = 15.0,
  drylevel = 1.0,
  earlyreflevel = 0.7,
  taillevel = 0.5,
  maxroomsize = 300.0
  }
mkGVerb :: GVerb -> S.UGen
mkGVerb (GVerb  a' b' c' d' e' f' g' h' i' j') = S.mkOsc S.AR "GVerb" [a',b',c',d',e',f',g',h',i',j'] 2
instance Make GVerb where
  ugen = mkGVerb