csound-expression-0.0: src/CsoundExpr/Opcodes/Siggen/Hvs.hs
-- | Hyper Vectorial Synthesis
module CsoundExpr.Opcodes.Siggen.Hvs
(vphaseseg,
hvs1,
hvs2,
hvs3)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : vphaseseg
--
--
-- * syntax :
--
-- > vphaseseg kphase, ioutab, ielems, itab1,idist1,itab2
-- > [,idist2,itab3,...,idistN-1,itabN]
--
--
-- * description :
--
-- vphaseseg allows one-dimensional HVS (Hyper-Vectorial
-- Synthesis).
--
--
-- * url : <http://www.csounds.com/manual/html/vphaseseg.html>
vphaseseg :: (K k0) => k0 -> Irate -> Irate -> [Irate] -> SignalOut
vphaseseg k0phase i1outab i2elems i3tabDist
= outOpcode "vphaseseg" args
where args
= [to k0phase, to i1outab, to i2elems] ++ map to i3tabDist
-- | * opcode : hvs1
--
--
-- * syntax :
--
-- > hvs1 kx, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]
--
--
-- * description :
--
-- hvs1 allows one-dimensional Hyper Vectorial Synthesis (HVS)
-- controlled by externally-updated k-variables.
--
--
-- * url : <http://www.csounds.com/manual/html/hvs1.html>
hvs1 ::
(K k0) =>
[Irate] ->
k0 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
hvs1 i0init k1x i2numParms i3numPointsX i4OutTab i5PositionsTab
i6SnapTab = outOpcode "hvs1" args
where args
= [to k1x, to i2numParms, to i3numPointsX, to i4OutTab,
to i5PositionsTab, to i6SnapTab]
++ map to i0init
-- | * opcode : hvs2
--
--
-- * syntax :
--
-- > hvs2 kx, ky, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]
--
--
-- * description :
--
-- hvs2 allows two-dimensional Hyper Vectorial Synthesis (HVS)
-- controlled by externally-updated k-variables.
--
--
-- * url : <http://www.csounds.com/manual/html/hvs2.html>
hvs2 ::
(K k0, K k1) =>
[Irate] ->
k0 -> k1 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
hvs2 i0init k1x k2y i3numParms i4numPointsX i5OutTab i6PositionsTab
i7SnapTab = outOpcode "hvs2" args
where args
= [to k1x, to k2y, to i3numParms, to i4numPointsX, to i5OutTab,
to i6PositionsTab, to i7SnapTab]
++ map to i0init
-- | * opcode : hvs3
--
--
-- * syntax :
--
-- > hvs3 kx, ky, kz, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab]
--
--
-- * description :
--
-- hvs3 allows three-dimensional Hyper Vectorial Synthesis (HVS)
-- controlled by externally-updated k-variables.
--
--
-- * url : <http://www.csounds.com/manual/html/hvs3.html>
hvs3 ::
(K k0, K k1, K k2) =>
[Irate] ->
k0 ->
k1 -> k2 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
hvs3 i0init k1x k2y k3z i4numParms i5numPointsX i6OutTab
i7PositionsTab i8SnapTab = outOpcode "hvs3" args
where args
= [to k1x, to k2y, to k3z, to i4numParms, to i5numPointsX,
to i6OutTab, to i7PositionsTab, to i8SnapTab]
++ map to i0init