while

while — A syntactic looping construction.

Description

A syntactic looping construction.

Syntax

while  condition do
    ... od

Performance

The statements between the do and od form the body of a loop which is obeyed while the conditional remains true.

Examples

Here is an example of the while construction. Play while.csd

Example 1223. Example of the while 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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o ifthen.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

instr 1
lab99:
if p4<0 goto lab100
  p4 = p4-1
  print p4
  goto lab99
lab100:
endin

instr 2
  while p4>=0 do
    p4 = p4-1
    print p4
  od
endin
</CsInstruments>
<CsScore>
i 1 1 1 4
i 2 2 1 4
e

</CsScore>
</CsoundSynthesizer>


Its output should include lines like this:

B  0.000 ..  1.000 T  1.000 TT  1.000 M:      0.0
new alloc for instr 1:
instr 1:  p4 = 3.000
instr 1:  p4 = 2.000
instr 1:  p4 = 1.000
instr 1:  p4 = 0.000
instr 1:  p4 = -1.000
B  1.000 ..  2.000 T  2.000 TT  2.000 M:      0.0
new alloc for instr 2:
instr 2:  p4 = 3.000
instr 2:  p4 = 2.000
instr 2:  p4 = 1.000
instr 2:  p4 = 0.000
instr 2:  p4 = -1.000
B  2.000 ..  3.000 T  3.000 TT  3.000 M:      0.0
      

See Also

loop_ge, loop_gt and loop_le loop_lt until

Credits

John ffitch.

New in Csound version 6.04