loop_lt — Looping constructions.


Construction of looping operations.


loop_lt  indx, incr, imax, label
loop_lt  kndx, kncr, kmax, label


indx -- i-rate variable to count loop.

incr -- value to increment the loop.

imax -- maximum value of loop index.


kndx -- k-rate variable to count loop.

kncr -- value to increment the loop.

kmax -- maximum value of loop index.

The actions of loop_lt are equivalent to the code

         indx  =  indx + incr
         if (indx < imax) igoto label


         kndx  =  kndx + kncr
         if (kndx < kmax) kgoto label

[Note] Note
Adviced is to use the 'modern' while or until opcodes for looping constructions.


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

Example 548. Example of the loop_lt opcode.

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

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o loop_lt.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

seed 0
gisine ftgen 0, 0, 2^10, 10, 1

instr 1 ;master instrument

ininstr = 5 ;number of called instances
indx = 0
      prints "play instance %d\\n", indx
ipan  random 0, 1
ifreq random 100, 1000
iamp  = 1/ininstr
event_i "i", 10, 0, p3, iamp, ifreq, ipan
loop_lt indx, 1, ininstr, loop


instr 10

ipeak random 0, 1 ;where is the envelope peak
asig  poscil3 p4, p5, gisine
aenv  transeg 0, p3*ipeak, 6, 1, p3-p3*ipeak, -6, 0
aL,aR pan2 asig*aenv, p6
      outs aL, aR


i1 0 10

Its output should include a line like this:

play instance 0
play instance 1
play instance 2
play instance 3
play instance 4

See also

Program Flow Control: Looping Constructions

More information on this opcode: http://www.csoundjournal.com/2006summer/controlFlow_part2.html written by Steven Yi, and in the Floss Manuals: https://flossmanual.csound.com/csound-language/control-structures


Istvan Varga.

New in Csound version 5.01