module Vivid.UGens.Buffer (
bufChannels
, bufDur
, bufFrames
, bufRateScale
, bufSampleRate
, bufSamples
, bufRd
, bufWr
, localBuf
, phasor
, playBuf
, recordBuf
) where
import Vivid.SynthDef
import Vivid.SynthDef.FromUA
import Vivid.UGens.Args
import Data.Proxy
localBuf :: Args '["numChans","numFrames"] '[] a => a -> SDBody a Signal
localBuf args = do
mlb <- addUGen $ UGen (UGName_S "MaxLocalBufs") IR [Constant 1] 1
numChannels' <- uaArgVal args (Proxy::Proxy "numChans")
numFrames' <- uaArgVal args (Proxy::Proxy "numFrames")
addUGen $ UGen (UGName_S "LocalBuf") IR [numChannels', numFrames', mlb] 1
playBuf :: (Args '["buf"] '["rate","trigger","startPos","loop","doneAction"] a) => a -> SDBody a Signal
playBuf = makeUGen
"PlayBuf" AR
(Vs::Vs '["buf","rate","trigger","startPos","loop","doneAction"])
(rate_ ((1)::Float), trigger_ ((1)::Float), startPos_ ((0)::Float)
,loop_ ((0)::Float), doneAction_ ((2)::Float))
recordBuf :: (Args '["buf","in"] '["offset","recLevel","preLevel","run","loop","trigger","doneAction"] a) => a -> SDBody a Signal
recordBuf = makeUGen
"RecordBuf" AR
(Vs::Vs '["buf","offset","recLevel","preLevel","run","loop","trigger","doneAction","in"])
(offset_ ((0)::Float), recLevel_ ((1)::Float), preLevel_ ((0)::Float), run_ ((1)::Float), loop_ ((0)::Float), trigger_ ((1)::Float), doneAction_ ((2)::Float))
bufChannels :: (Args '["buf"] '[] a) => a -> SDBody a Signal
bufChannels = makeUGen
"BufChannels" KR
(Vs::Vs '["buf"])
NoDefaults
bufDur :: (Args '["buf"] '[] a) => a -> SDBody a Signal
bufDur = makeUGen
"BufDur" KR
(Vs::Vs '["buf"])
NoDefaults
bufFrames :: ToSig s as => s -> SDBody' as Signal
bufFrames = (flip (.)) buf_ $ makeUGen
"BufFrames" KR
(Vs::Vs '["buf"])
NoDefaults
bufRateScale :: ToSig s as => s -> SDBody' as Signal
bufRateScale = (flip (.)) buf_ $ makeUGen
"BufRateScale" KR
(Vs::Vs '["buf"])
NoDefaults
bufSampleRate :: ToSig s as => s -> SDBody' as Signal
bufSampleRate = (flip (.)) buf_ $ makeUGen
"BufSampleRate" KR
(Vs::Vs '["buf"])
NoDefaults
bufSamples :: ToSig s as => s -> SDBody' as Signal
bufSamples = (flip (.)) buf_ $ makeUGen
"BufSamples" KR
(Vs::Vs '["buf"])
NoDefaults
bufRd :: (Args '[ "buf", "phase"] '["loop", "interp"] a) => a -> SDBody a Signal
bufRd = makeUGen
"BufRd" AR
(Vs::Vs '[ "buf", "phase", "loop", "interp"])
(loop_ ((1)::Float), interp_ ((2)::Float))
bufWr :: (Args '["in", "buf", "phase"] '["loop"] a) => a -> SDBody a Signal
bufWr = makeUGen
"BufWr" AR
(Vs::Vs '["buf", "phase", "loop", "in"])
(loop_ ((1)::Float))
phasor :: (Args '[] '["trigger", "rate", "start", "end", "resetPos"] a) => a -> SDBody a Signal
phasor = makeUGen
"Phasor" AR
(Vs::Vs '["trigger", "rate", "start", "end", "resetPos"])
(trig_ ((0)::Float), rate_ ((1)::Float), start_ ((0)::Float), end_ ((1)::Float), resetPos_ ((0)::Float))