-- | 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 : 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 : 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 : 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 : 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