elseif
Defines another "if...then" condition when a "if...then" condition is false.
Syntax
where label is in the same instrument block and is not an expression, and where R is one of the Relational operators (<, =, <=, ==, !=) (and = for convenience, see also under Conditional Values).
elseif is used inside of a block of code between the "if...then" and endif opcodes. When a "if...then" condition is false, it defines another "if...then" condition to be met. Any number of elseif statements are allowed.
Examples
Here is an example of the elseif opcode. It uses the file elseif.csd.
Example of the elseif opcode. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac ;;;realtime audio out
;-iadc ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o elseif.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1
ipch = cpspch(p4)
ienv = p5
if (ienv == 0) then
;ADSR
kenv adsr 0.05, 0.05, .95, .05
elseif (ienv == 1) then
;Linear Triangular Envelope
kenv linseg 0, p3 * .5, 1, p3 * .5, 0
elseif (ienv == 2) then
;Ramp Up
kenv linseg 0, p3 - .01, 1, .01, 0
endif
aout vco2 .8, ipch, 10
aout moogvcf aout, ipch + (kenv * 5 * ipch) , .5
aout = aout * kenv
outs aout, aout
endin
</CsInstruments>
<CsScore>
i 1 0 2 8.00 0
i 1 3 2 8.00 1
i 1 6 2 8.00 2
e
</CsScore>
</CsoundSynthesizer>
|
See also
Program Flow Control
More information on this opcode: http://www.csoundjournal.com/2006spring/controlFlow.html, written by Steven Yi
Credits
New in version 4.21