-- | Moog VCF implementation, designed by Federico Fontana
module Sound.SC3.UGen.Record.MoogFF where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data MoogFF = MoogFF {
  rate :: S.Rate,
  input :: S.UGen,
  freq :: S.UGen,
  gain :: S.UGen,
  reset :: S.UGen
  } deriving (Show)
moogFF :: MoogFF
moogFF = MoogFF {
  rate = S.AR,
  input = 0.0,
  freq = 100.0,
  gain = 2.0,
  reset = 0.0
  }
mkMoogFF :: MoogFF -> S.UGen
mkMoogFF (MoogFF r a' b' c' d') = S.mkOsc r "MoogFF" [a',b',c',d'] 1
instance Make MoogFF where
  ugen = mkMoogFF