module CsoundExpr.Opcodes.Vectorial.EnvelopeGenerators
(vlinseg,
vexpseg,
vcella)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
vlinseg :: Irate -> Irate -> [Irate] -> SignalOut
vlinseg i0fnout i1elements i2vals = outOpcode "vlinseg" args
where args = [to i0fnout, to i1elements] ++ map to i2vals
vexpseg :: Irate -> Irate -> [Irate] -> SignalOut
vexpseg i0fnout i1elements i2vals = outOpcode "vexpseg" args
where args = [to i0fnout, to i1elements] ++ map to i2vals
vcella ::
(K k0, K k1) =>
[Irate] ->
k0 -> k1 -> Irate -> Irate -> Irate -> Irate -> Irate -> SignalOut
vcella i0init k1trig k2reinit i3outFunc i4nitStateFunc i5RuleFunc
i6elements i7rulelen = outOpcode "vcella" args
where args
= [to k1trig, to k2reinit, to i3outFunc, to i4nitStateFunc,
to i5RuleFunc, to i6elements, to i7rulelen]
++ map to i0init