-- | 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 : 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 : 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 : 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 : 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 : 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]