csound-expression-0.0: src/CsoundExpr/Opcodes/Vectorial/Vectorialimiting.hs
-- | Limiting and wrapping of vectorial control signals
module CsoundExpr.Opcodes.Vectorial.Vectorialimiting
(vlimit,
vwrap,
vmirror)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : vlimit
--
--
-- * syntax :
--
-- > vlimit ifn, kmin, kmax, ielements
--
--
-- * description :
--
-- Limits elements of vectorial control signals.
--
--
-- * url : <http://www.csounds.com/manual/html/vlimit.html>
vlimit :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut
vlimit i0fn k1min k2max i3elements = outOpcode "vlimit" args
where args = [to i0fn, to k1min, to k2max, to i3elements]
-- | * opcode : vwrap
--
--
-- * syntax :
--
-- > vwrap ifn, kmin, kmax, ielements
--
--
-- * description :
--
-- Wraps elements of vectorial control signals.
--
--
-- * url : <http://www.csounds.com/manual/html/vwrap.html>
vwrap :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut
vwrap i0fn k1min k2max i3elements = outOpcode "vwrap" args
where args = [to i0fn, to k1min, to k2max, to i3elements]
-- | * opcode : vmirror
--
--
-- * syntax :
--
-- > vmirror ifn, kmin, kmax, ielements
--
--
-- * description :
--
-- 'Reflects' elements of vectorial control signals on thresholds.
--
--
-- * url : <http://www.csounds.com/manual/html/vmirror.html>
vmirror :: (K k0, K k1) => Irate -> k0 -> k1 -> Irate -> SignalOut
vmirror i0fn k1min k2max i3elements = outOpcode "vmirror" args
where args = [to i0fn, to k1min, to k2max, to i3elements]