dssiactivate
Prev | Orchestra Opcodes and Operators | Next

## dssiactivate

dssiactivate — Activates or deactivates a DSSI or LADSPA plugin.

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

## Initialization

ihandle - the number which identifies the plugin, generated by dssiinit.

## Performance

ktoggle - Selects between activation (ktoggle=1) and deactivation (ktoggle=0).

dssiactivate is used to turn on and off plugins if they provide this facility. This may help conserve CPU processing in some cases. For consistency, all plugins must be activated to produce sound. An inactive plugin produces silence.

Depending on the plugin's implementation, this may cause interruptions in the realtime audio process, so use with caution.

dssiactivate may cause audio stream breakups when used in realtime, so it is recommended to load all plugins to be used before playing.

| Warning
Please note that even if activate() and deactivate() functions are not present in a plugin, dssiactivate must be called for the plugin to produce sound.

## Examples

Here is an example of the dssiactivate opcode. It uses the file dssiactivate.csd.

Example 175. Example of the dssiactivate opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <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 dssiactivate.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2

    gihandle dssiinit "caps.so", 19, 1	; = mono phaser and
    gaout init  0				; verbose about all ports

    instr 1	; activate DSSI

    ktoggle	=  p4
    dssiactivate gihandle, ktoggle
    endin

    instr 2

    ain1	diskin2 "beats.wav", 1,0,1	; loop
    ain1	=	ain1*.5
    	outs	ain1, ain1
    gaout = gaout+ain1
    endin

    instr 3

    dssictls gihandle, 0, 1, 1			; range -1 to 1
    dssictls gihandle, 1, 2, 1			; rate 0 to 10
    dssictls gihandle, 2, .8, 1			; depth 0 to 1
    dssictls gihandle, 3, 3, 1			; spread 0 to 3.14
    dssictls gihandle, 4, .9, 1			; feedback 0 to 0.999

    endin

    instr 4

    aout1 dssiaudio gihandle, gaout	;get beats.wav, mono out
    	outs aout1,aout1

    gaout = 0
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 4 1
    i 1 + . 0
    i 1 + . 1
    i 1 + . 0
    i 1 + . 1
    i 2 1 20
    i 3 1 20
    i 4 0 20

    e
    </CsScore>
    </CsoundSynthesizer>

## Credits

2005

By: Andrés Cabrera

Uses code from Richard Furse's LADSPA sdk.

Prev | Up | Next
dripwater | Home | dssiaudio