timout

timout — Branchement conditionnel durant l'exécution en fonction de la durée de la note qui s'est déjà écoulée.

Description

Branchement conditionnel durant l'exécution en fonction de la durée de la note qui s'est déjà écoulée. istrt et idur sont exprimés en secondes. Le branchement vers label aura lieu à partir de l'instant istrt, et restera actif pendant idur secondes. Noter que timout peut être réinitialisé pour des activations multiples dans une seule note (voir l'exemple de reinit).

Syntaxe

timout istrt, idur, label

label se trouve dans le même bloc d'instrument et n'est pas une expression.

Exemples

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

Exemple 1008. Exemple de l'opcode timout.

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 realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o timout.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

indx = 0
itim = p4				;change time for one step

clock: 
   timout 0, itim, time
   reinit clock

time:
   itmp table indx, 2, 0, 0, 1
   if itmp == 1 then
   print itmp
   event_i "i",2, 0, .1			;event has duration of .1 second
endif
indx = indx+1

endin

instr 2	;play it

kenv transeg 0.01, p3*0.25, 1, 1, p3*0.75, .5, 0.01
asig oscili kenv*.4, 400, 1
     outs asig, asig

endin
</CsInstruments>
<CsScore>
f 1 0 1024 10 1	;sine
f 2 0 16 2 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 ;the rythm table

i1 0 10 .1
i1 + 10 .05
i1 + 10 .01
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

goto, if, igoto, kgoto, tigoto