-- | F0 Ugens (f0plugins)
module Sound.Sc3.Ugen.Bindings.Hw.External.F0 where

import Sound.Sc3.Common.Rate
import qualified Sound.Sc3.Ugen.Bindings.Hw.Construct as C
import Sound.Sc3.Ugen.Ugen

-- | Emulation of the sound generation hardware of the Atari TIA chip.
atari2600 :: Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
atari2600 :: Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
atari2600 Ugen
audc0 Ugen
audc1 Ugen
audf0 Ugen
audf1 Ugen
audv0 Ugen
audv1 Ugen
rate = Rate -> String -> [Ugen] -> Int -> Ugen
C.mkOsc Rate
ar String
"Atari2600" [Ugen
audc0,Ugen
audc1,Ugen
audf0,Ugen
audf1,Ugen
audv0,Ugen
audv1,Ugen
rate] Int
1

-- | POKEY Chip Sound Simulator
mzPokey :: Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
mzPokey :: Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
-> Ugen
mzPokey Ugen
f1 Ugen
c1 Ugen
f2 Ugen
c2 Ugen
f3 Ugen
c3 Ugen
f4 Ugen
c4 Ugen
ctl = Rate -> String -> [Ugen] -> Int -> Ugen
C.mkOsc Rate
ar String
"MZPokey" [Ugen
f1,Ugen
c1,Ugen
f2,Ugen
c2,Ugen
f3,Ugen
c3,Ugen
f4,Ugen
c4,Ugen
ctl] Int
1

-- | A phasor that can loop.
redPhasor :: Rate -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
redPhasor :: Rate
-> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
redPhasor Rate
rate Ugen
trig Ugen
rate_ Ugen
start Ugen
end Ugen
loop Ugen
loopstart Ugen
loopend = Rate -> String -> [Ugen] -> Int -> Ugen
C.mkOsc Rate
rate String
"RedPhasor" [Ugen
trig,Ugen
rate_,Ugen
start,Ugen
end,Ugen
loop,Ugen
loopstart,Ugen
loopend] Int
1

-- | A phasor that can loop.
redPhasor2 :: Rate -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
redPhasor2 :: Rate
-> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen -> Ugen
redPhasor2 Rate
rate Ugen
trig Ugen
rate_ Ugen
start Ugen
end Ugen
loop Ugen
loopstart Ugen
loopend = Rate -> String -> [Ugen] -> Int -> Ugen
C.mkOsc Rate
rate String
"RedPhasor2" [Ugen
trig,Ugen
rate_,Ugen
start,Ugen
end,Ugen
loop,Ugen
loopstart,Ugen
loopend] Int
1

-- Local Variables:
-- truncate-lines:t
-- End: