{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE NoIncoherentInstances #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE NoUndecidableInstances #-}
module Vivid.UGens.Delays (
allpassC
, allpassL
, allpassN
, combC
, combL
, combN
, delay1
, delay2
, delayC
, delayL
, delayN
, pluck
) where
import Vivid.SC.SynthDef.Types (CalculationRate(..))
import Vivid.SynthDef
import Vivid.SynthDef.FromUA
import Vivid.UGens.Args
allpassC :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
allpassC = makeDelay "AllpassC"
allpassL :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
allpassL = makeDelay "AllpassL"
allpassN :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
allpassN = makeDelay "AllpassN"
combC :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
combC = makeDelay "CombC"
combL :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
combL = makeDelay "CombL"
combN :: (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
combN = makeDelay "CombN"
makeDelay :: String -> (Args '["in"] ["maxDelaySecs", "delaySecs", "decaySecs"] a) => a -> SDBody a Signal
makeDelay delayName =
makeUGen delayName AR
(Vs::Vs '["in", "maxDelaySecs", "delaySecs", "decaySecs"])
(maxDelayTime_ (0.2::Float), delayTime_ (0.2::Float), decayTime_ ((1)::Float))
delay1 :: (Args '["in"] '[] a) => a -> SDBody a Signal
delay1 = makeUGen
"Delay1" AR
(Vs::Vs '["in"])
NoDefaults
delay2 :: (Args '["in"] '[] a) => a -> SDBody a Signal
delay2 = makeUGen
"Delay2" AR
(Vs::Vs '["in"])
NoDefaults
delayC :: (Args '["in"] '["maxDelaySecs", "delaySecs"] a) => a -> SDBody a Signal
delayC = makeUGen
"DelayC" AR
(Vs::Vs '["in", "maxDelaySecs", "delaySecs"])
(maxDelayTime_ (0.2::Float), delayTime_ (0.2::Float))
delayL :: (Args '["in"] '["maxDelaySecs", "delaySecs"] a) => a -> SDBody a Signal
delayL = makeUGen
"DelayL" AR
(Vs::Vs '["in", "maxDelaySecs", "delaySecs"])
(maxDelayTime_ (0.2::Float), delayTime_ (0.2::Float))
delayN :: (Args '["in"] '["maxDelaySecs", "delaySecs"] a) => a -> SDBody a Signal
delayN = makeUGen
"DelayN" AR
(Vs::Vs '["in", "maxDelaySecs", "delaySecs"])
(maxDelayTime_ (0.2::Float), delayTime_ (0.2::Float))
pluck :: Args '[] '["in","trigger","maxDelaySecs","delaySecs","decaySecs","coef"] a => a -> SDBody a Signal
pluck = makeUGen
"Pluck" AR
(Vs::Vs '["in","trigger","maxDelaySecs","delaySecs","decaySecs","coef"])
(in_ (0::Float), trigger_ (1::Float), maxDelaySecs_ (0.2::Float)
,delaySecs_ (0.2::Float), decaySecs_ (1::Float), coef_ (0.5::Float))