dssiinit
Prev | Orchestra Opcodes and Operators | Next

## dssiinit

dssiinit — Loads a DSSI or LADSPA plugin.

## 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.

## 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.

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 doesn't 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 dssi4cs.csd.

Example 133. Example of the dssiinit opcode. (Remember to change the Library name)

    <CsoundSynthesizer>
    <CsOptions>
    ;use appropriate realtime options
    </CsOptions>
    <CsInstruments>
    ksmps = 256
    nchnls = 2

    dssilist

    gihandle dssiinit "amp.so", 0, 1
    ;gihandle dssiinit "cmt.so", 30 , 2
    ;gihandle2 dssiinit "cmt.so", 8 , 1
    ;gihandle dssiinit "delayorama_1402", 0
    gihandle2 dssiinit "cmt.so", 49 , 1
    ;gihandle dssiinit "freq_tracker_1418.so", 0 , 1, 1
    ;gihandle dssiinit "g2reverb.so", 0, 1
    ;gihandle2 dssiinit "declip_1195.so", 0, 1
    ;gihandle2 dssiinit "revdelay_1605.so", 0, 1
    ;gihandle2 dssiinit "tap_chorusflanger.so", 0, 1
    ;gihandle2 dssiinit "plate_1423.so", 0, 1
    gihandle3 dssiinit "gate_1410.so", 0, 1
    ;gihandle3 dssiinit "hexter.so", 0, 1

    instr 1
    print p4
    dssiactivate gihandle, p4
    dssiactivate gihandle2, p4
    dssiactivate gihandle3, p4
    endin

    instr 2
    ain1 inch 1
    ain2 inch 2
    ;aout1,aout2 dssiaudio gihandle, ain1, ain2
    aout1 dssiaudio gihandle, ain1
    outs aout1,aout1
    endin

    instr 3
    kval linen 1, p3 /3, p3, p3/ 3
    dssictls gihandle, p4, kval, 1
    endin

    instr 4
    ain1 inch 1
    aout1 dssiaudio gihandle2, ain1
    outs aout1,aout1
    endin

    </CsInstruments>
    <CsScore>

    i 1 1 1 1

    i 2 2 15 ;plugin 1

    i 3 3 12 0  ;Control port 0

    i 4 8 2 ;plugin 2
    e
    </CsScore>
    </CsoundSynthesizer>

## Credits

2005

By: Andrés Cabrera

Uses code from Richard Furse's LADSPA sdk.

Prev | Up | Next
dssictls | Home | dssilist