dssiinit
Prev | Orchestra Opcodes and Operators | Next

## dssiinit

dssiinit — Loads a DSSI or LADSPA plugin.

| Note
plugin: Requires dssi4cs plugin

## Syntax

    ihandle dssiinit ilibraryname, iplugindex [, iverbose]

## Description

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.

## Initialization

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.

## Examples

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>

## Credits

2005

By: Andrés Cabrera

Uses code from Richard Furse's LADSPA sdk.

Prev | Up | Next
dssictls | Home | dssilist