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] 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 195. 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.