loop_gt

loop_gt — Constructions de boucle..

Description

Construction d'opérations de boucle.

Syntaxe

loop_gt   indx, idecr, imin, label
loop_gt   kndx, kdecr, kmin, label

Initialisation

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

idecr -- valeur de décrément de la boucle.

imin -- valeur minimale de l'index de la boucle.

Exécution

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

kdecr -- valeur de décrément de la boucle.

kmin -- valeur minimale de l'index de la boucle.

L'action de loop_gt est équivalente à

         indx  =  indx - idecr
         if (indx > imin) igoto label

ou à

         kndx  =  kndx - kdecr
         if (kndx > kmin) kgoto label

Exemples

voici un exemple de l'opcode loop_gt. Il utilise le fichier loop_gt.csd.

Exemple 529. Exemple de l'opcode loop_gt.

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_gt.wav -W ;;; for file output any platform

; By Stefano Cucchi - 2021

</CsOptions>
<CsInstruments>

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

gisaw  ftgen 3, 0, 16384, 10, 0, .2, 0, .4, 0, .6, 0, .8, 0, 1, 0, .8, 0, .6, 0, .4, 0,.2 

instr 1 ;master instrument

indxFreq = p5

loop:

ifreq = p4 + indxFreq
print ifreq
iamp = 0.5/((p5-p7)/p6)
event_i "i", 10, 0, p3, iamp, ifreq
loop_gt indxFreq, p6, p7, loop

endin


instr 10

asig  oscili p4, p5, gisaw
asig butterhp asig, 50
kdeclick linseg 0, 0.1, 1, p3-0.2, 1, 0.1, 0
outs asig * kdeclick, asig * kdeclick

endin

</CsInstruments>
<CsScore>


i1 0 2 200 10 3 1

i1 2 2 200 4 0.3 1

i1 4 2 200 55 7 1

i1 6 2 200 3 0.2 1

e
</CsScore>
</CsoundSynthesizer>


Voir aussi

loop_ge, loop_le 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