csound-expression-0.0: src/CsoundExpr/Opcodes/Control/Durctl.hs
-- | Duration Control Statements
module CsoundExpr.Opcodes.Control.Durctl
(ihold,
turnoff,
turnoff2,
turnon)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : ihold
--
--
-- * syntax :
--
-- > ihold
--
--
-- * description :
--
-- Causes a finite-duration note to become a held note
--
--
-- * url : <http://www.csounds.com/manual/html/ihold.html>
ihold :: SignalOut
ihold = outOpcode "ihold" args
where args = []
-- | * opcode : turnoff
--
--
-- * syntax :
--
-- > turnoff
--
--
-- * description :
--
-- Enables an instrument to turn itself off.
--
--
-- * url : <http://www.csounds.com/manual/html/turnoff.html>
turnoff :: SignalOut
turnoff = outOpcode "turnoff" args
where args = []
-- | * opcode : turnoff2
--
--
-- * syntax :
--
-- > turnoff2 kinsno, kmode, krelease
--
--
-- * description :
--
-- Turn off instance(s) of other instruments at performance time.
--
--
-- * url : <http://www.csounds.com/manual/html/turnoff2.html>
turnoff2 :: (K k0, K k1, K k2) => k0 -> k1 -> k2 -> SignalOut
turnoff2 k0insno k1mode k2release = outOpcode "turnoff2" args
where args = [to k0insno, to k1mode, to k2release]
-- | * opcode : turnon
--
--
-- * syntax :
--
-- > turnon insnum [, itime]
--
--
-- * description :
--
-- Activate an instrument for an indefinite time.
--
--
-- * url : <http://www.csounds.com/manual/html/turnon.html>
turnon :: [Irate] -> Irate -> SignalOut
turnon i0init i1nsnum = outOpcode "turnon" args
where args = [to i1nsnum] ++ map to i0init