loop_le

loop_le — Constructions de boucle.

Description

Construction d'opérations de boucle.

Syntaxe

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

Initialisation

indx -- variable de taux-i, compteur de la boucle.

incr -- valeur d'incrément de la boucle.

imax -- valeur maximale de l'index de la boucle.

Exécution

kndx -- variable de taux-k, compteur de la boucle.

kncr -- valeur d'incrément de la boucle.

kmax -- valeur maximale de l'index de la boucle.

L'action de loop_le est équivalente à

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

ou à

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

Exemples

Voici un exemple de l'opcode loop_le. Il utilise le fichier loop_le.csd.

Exemple 530. Exemple de l'opcode loop_le.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

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

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
loop:
      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_le indx, 1, ininstr, loop

endin

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

endin

</CsInstruments>
<CsScore>
i1 0 10
e
</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

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

Voir aussi

loop_ge, loop_gt et loop_lt.

Plus d'information sur cet opcode : http://www.csoundjournal.com/2006summer/controlFlow_part2.html, écrit par Steven Yi. Et dans les Floss Manuals : https://flossmanual.csound.com/csound-language/control-structures

Crédits

Istvan Varga.

Nouveau dans la version 5.01 de Csound