csound-expression-0.0: src/CsoundExpr/Opcodes/Vectorial/Vectorialdelay.hs
-- | Vectorial Control-rate Delay Paths
module CsoundExpr.Opcodes.Vectorial.Vectorialdelay
(vdelayk,
vport,
vecdelay)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : vdelayk
--
--
-- * syntax :
--
-- > kout vdelayk iksig, kdel, imaxdel [, iskip, imode]
--
--
-- * description :
--
-- Variable delay applied to a k-rate signal
--
--
-- * url : <http://www.csounds.com/manual/html/vdelayk.html>
vdelayk :: (K k0) => [Irate] -> Irate -> k0 -> Irate -> Krate
vdelayk i0init i1ksig k2del i3maxdel = opcode "vdelayk" args
where args = [to i1ksig, to k2del, to i3maxdel] ++ map to i0init
-- | * opcode : vport
--
--
-- * syntax :
--
-- > vport ifn, khtime, ielements [, ifnInit]
--
--
-- * description :
--
-- Generate a sort of 'vectorial' portamento
--
--
-- * url : <http://www.csounds.com/manual/html/vport.html>
vport :: (K k0) => [Irate] -> Irate -> k0 -> Irate -> SignalOut
vport i0init i1fn k2htime i3elements = outOpcode "vport" args
where args = [to i1fn, to k2htime, to i3elements] ++ map to i0init
-- | * opcode : vecdelay
--
--
-- * syntax :
--
-- > vecdelay ifn, ifnIn, ifnDel, ielements, imaxdel [, iskip]
--
--
-- * description :
--
-- Generate a sort of 'vectorial' delay
--
--
-- * url : <http://www.csounds.com/manual/html/vecdelay.html>
vecdelay ::
[Irate] -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
vecdelay i0init i1fn i2fnIn i3fnDel i4elements i5maxdel
= outOpcode "vecdelay" args
where args
= [to i1fn, to i2fnIn, to i3fnDel, to i4elements, to i5maxdel] ++
map to i0init