-- | Interpolating wavetable oscillator.
module Sound.SC3.UGen.Record.Osc where
import qualified Sound.SC3.UGen as S
import Sound.SC3.UGen.Record
data Osc = Osc {
  rate :: S.Rate,
  bufnum :: S.UGen,
  freq :: S.UGen,
  phase :: S.UGen
  } deriving (Show)
osc :: Osc
osc = Osc {
  rate = S.AR,
  bufnum = 0.0,
  freq = 440.0,
  phase = 0.0
  }
mkOsc :: Osc -> S.UGen
mkOsc (Osc r a' b' c') = S.mkOsc r "Osc" [a',b',c'] 1
instance Make Osc where
  ugen = mkOsc