csound-expression-0.0: src/CsoundExpr/Opcodes/Plugin/Dssi4cs.hs
-- | DSSI and LADSPA for Csound
module CsoundExpr.Opcodes.Plugin.Dssi4cs
(dssiinit,
dssiactivate,
dssilist,
dssiaudio,
dssictls)
where
import CsoundExpr.Base.Types
import CsoundExpr.Base.MultiOut
import CsoundExpr.Base.SideEffect
import CsoundExpr.Base.UserDefined
-- | * opcode : dssiinit
--
--
-- * syntax :
--
-- > ihandle dssiinit ilibraryname, iplugindex [, iverbose]
--
--
-- * description :
--
-- dssiinit is used to load a DSSI or LADSPA plugin into memory for
-- use with the other dssi4cs opcodes. Both LADSPA effects and DSSI
-- instruments can be used.
--
--
-- * url : <http://www.csounds.com/manual/html/dssiinit.html>
dssiinit :: [Irate] -> Irate -> Irate -> Irate
dssiinit i0init i1libraryname i2plugindex = opcode "dssiinit" args
where args = [to i1libraryname, to i2plugindex] ++ map to i0init
-- | * opcode : dssiactivate
--
--
-- * syntax :
--
-- > dssiactivate ihandle, ktoggle
--
--
-- * description :
--
-- dssiactivate is used to activate or deactivate a DSSI or LADSPA
-- plugin. It calles the plugin's activate() and deactivate()
-- functions if they are provided.
--
--
-- * url : <http://www.csounds.com/manual/html/dssiactivate.html>
dssiactivate :: (K k0) => Irate -> k0 -> SignalOut
dssiactivate i0handle k1toggle = outOpcode "dssiactivate" args
where args = [to i0handle, to k1toggle]
-- | * opcode : dssilist
--
--
-- * syntax :
--
-- > dssilist
--
--
-- * description :
--
-- dssilist checks the variables DSSI_PATH and LADSPA_PATH and
-- lists all plugins available in all plugin libraries there.
--
--
-- * url : <http://www.csounds.com/manual/html/dssilist.html>
dssilist :: SignalOut
dssilist = outOpcode "dssilist" args
where args = []
-- | * opcode : dssiaudio
--
--
-- * syntax :
--
-- > aout1 [, aout2, aout3, aout4] dssiaudio ihandle, ain1 [,ain2, ain3, ain4]
--
--
-- * description :
--
-- dssiaudio generates audio by processing an input signal through
-- a LADSPA plugin.
--
--
-- * url : <http://www.csounds.com/manual/html/dssiaudio.html>
dssiaudio :: [Arate] -> Irate -> Arate -> MultiOut
dssiaudio a0init i1handle a2in1 = opcode "dssiaudio" args
where args = [to i1handle, to a2in1] ++ map to a0init
-- | * opcode : dssictls
--
--
-- * syntax :
--
-- > dssictls ihandle, iport, kvalue, ktrigger
--
--
-- * description :
--
-- dssictls sends control values to a plugin's control port
--
--
-- * url : <http://www.csounds.com/manual/html/dssictls.html>
dssictls :: (K k0, K k1) => Irate -> Irate -> k0 -> k1 -> SignalOut
dssictls i0handle i1port k2value k3trigger
= outOpcode "dssictls" args
where args = [to i0handle, to i1port, to k2value, to k3trigger]