dssiinit — Loads a DSSI or LADSPA plugin.
Note | |
---|---|
plugin: Requires dssi4cs plugin |
Plugin opcode in dssi4cs.
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.
ihandle - the number which identifies the plugin, to be passed to other dssi4cs opcodes.
ilibraryname - the name of the .so (shared object) file to load.
iplugindex - The index of the plugin to be used, zero or greater.
iverbose (optional) - show plugin information and parameters when loading. (default = 1)
dssiinit looks for ilibraryname on LADSPA_PATH and DSSI_PATH. One of these variables must be set, otherwise dssiinit will return an error. LADSPA and DSSI libraries may contain more than one plugin which must be referenced by its index. dssiinit then attempts to find plugin index iplugindex in the library and load the plugin into memory if it is found. To find out which plugins you have available and their index numbers you can use: dssilist.
If iverbose is not 0 (the default), information about the plugin detailing its characteristics and its ports will be shown. This information is important for opcodes like dssictls.
Plugins are set to inactive by default, so you *must* use dssiactivate to get the plugin to produce sound. This is required even if the plugin does not provide an activate() function.
dssiinit may cause audio stream breakups when used in realtime, so it is recommended to load all plugins to be used before playing.
Here is an example of the dssinit opcode. It uses the file dssiinit.csd.
Example 251. Example of the dssiinit opcode. (Remember to change the Library name)
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;RT audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o dssiinit.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 gihandle dssiinit "g2reverb.so", 0, 1 gaout init 0 instr 1 ; activate DSSI dssiactivate gihandle, 1 endin instr 2 ain1 diskin2 "beats.wav", 1 gaout = gaout+(ain1*.3) endin instr 3 dssictls gihandle, 4, 100, 1 ; room 10 to 150 dssictls gihandle, 5, 10, 1 ; reverb time 1 to 20 dssictls gihandle, 6, .5, 1 ; input bandwith 0 to 1 dssictls gihandle, 7, .25, 1 ; damping 0 to 1 dssictls gihandle, 8, 0, 1 ; dry -80 to 0 dssictls gihandle, 9, -10, 1 ; reflections -80 to 0 dssictls gihandle, 10, -15, 1 ; rev. tail -80 to 0 endin instr 4 aout1, aout2 dssiaudio gihandle, gaout, gaout ;get beats.wav and outs aout1,aout2 ; stereo DSSI plugin gaout = 0 endin </CsInstruments> <CsScore> i 1 0 2 i 2 1 10 i 3 1 10 i 4 0 10 e </CsScore> </CsoundSynthesizer>