csound-expression-0.0: src/CsoundExpr/Opcodes/Table/Select.hs
-- | Table Reading with Dynamic Selection
module CsoundExpr.Opcodes.Table.Select
(tableiktA,
tableiktK,
tablektA,
tablektK,
tablexkt)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : tableikt
--
--
-- * syntax :
--
-- > ares tableikt xndx, kfn [, ixmode] [, ixoff] [, iwrap]
-- > kres tableikt kndx, kfn [, ixmode] [, ixoff] [, iwrap]
--
--
-- * description :
--
-- k-rate control over table numbers.
--
--
-- * url : <http://www.csounds.com/manual/html/tableikt.html>
tableiktA :: (X x0, K k0) => [Irate] -> x0 -> k0 -> Arate
tableiktA i0init x1ndx k2fn = opcode "tableikt" args
where args = [to x1ndx, to k2fn] ++ map to i0init
-- | * opcode : tableikt
--
--
-- * syntax :
--
-- > ares tableikt xndx, kfn [, ixmode] [, ixoff] [, iwrap]
-- > kres tableikt kndx, kfn [, ixmode] [, ixoff] [, iwrap]
--
--
-- * description :
--
-- k-rate control over table numbers.
--
--
-- * url : <http://www.csounds.com/manual/html/tableikt.html>
tableiktK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Krate
tableiktK i0init k1ndx k2fn = opcode "tableikt" args
where args = [to k1ndx, to k2fn] ++ map to i0init
-- | * opcode : tablekt
--
--
-- * syntax :
--
-- > ares tablekt xndx, kfn [, ixmode] [, ixoff] [, iwrap]
-- > kres tablekt kndx, kfn [, ixmode] [, ixoff] [, iwrap]
--
--
-- * description :
--
-- k-rate control over table numbers.
--
--
-- * url : <http://www.csounds.com/manual/html/tablekt.html>
tablektA :: (X x0, K k0) => [Irate] -> x0 -> k0 -> Arate
tablektA i0init x1ndx k2fn = opcode "tablekt" args
where args = [to x1ndx, to k2fn] ++ map to i0init
-- | * opcode : tablekt
--
--
-- * syntax :
--
-- > ares tablekt xndx, kfn [, ixmode] [, ixoff] [, iwrap]
-- > kres tablekt kndx, kfn [, ixmode] [, ixoff] [, iwrap]
--
--
-- * description :
--
-- k-rate control over table numbers.
--
--
-- * url : <http://www.csounds.com/manual/html/tablekt.html>
tablektK :: (K k0, K k1) => [Irate] -> k0 -> k1 -> Krate
tablektK i0init k1ndx k2fn = opcode "tablekt" args
where args = [to k1ndx, to k2fn] ++ map to i0init
-- | * opcode : tablexkt
--
--
-- * syntax :
--
-- > ares tablexkt xndx, kfn, kwarp, iwsize [, ixmode] [, ixoff] [, iwrap]
--
--
-- * description :
--
-- Reads function tables with linear, cubic, or sinc interpolation.
--
--
-- * url : <http://www.csounds.com/manual/html/tablexkt.html>
tablexkt ::
(X x0, K k0, K k1) => [Irate] -> x0 -> k0 -> k1 -> Irate -> Arate
tablexkt i0init x1ndx k2fn k3warp i4wsize = opcode "tablexkt" args
where args
= [to x1ndx, to k2fn, to k3warp, to i4wsize] ++ map to i0init