printf

printf — Sortie formatée à la façon printf.

Description

printf et printf_i écrivent une sortie formatée à la manière de la fonction C printf(). printf_i ne s'exécute qu'au taux-i, tandis que printf s'exécute à la fois à l'initialisation et pendant l'exécution de la note.

Syntaxe

printf_i Sfmt, itrig, [iarg1[, iarg2[, ... ]]]
printf Sfmt, ktrig, [xarg1[, xarg2[, ... ]]]

Initialisation

Sfmt -- chaîne de formatage ayant la même structure que dans printf et dans d'autres fonctions C similaires, sauf que les modificateurs de longueur (l, ll, h, etc.) ne sont pas supportés. Les indicateurs de conversion suivants sont permis :

  • d, i, o, u, x, X, e, E, f, F, g, G, c, s

iarg1, iarg2, ... -- arguments d'entrée à formater (30 au maximum). Les formats entiers tels que %d arrondissent les valeurs d'entrée à l'entier le plus proche.

itrig -- s'il est supérieur à zéro, l'opcode effectue l'affichage ; sinon c'est une opération nulle.

Exécution

ktrig -- s'il est supérieur à zéro et différent de sa valeur lors du cycle de contrôle précédent, l'opcode effectue l'affichage demandé. La valeur précédente initiale est fixée à zéro.

xarg1, xarg2, ... -- arguments d'entrée à formater (30 au maximum). Les formats entiers tels que %d arrondissent les valeurs d'entrée à l'entier le plus proche. Noter que seuls les arguments de taux-k et de taux-i sont valides (pas d'affichage au taux-a)

Exemples

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

Exemple 630. Exemple de l'opcode printf.

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

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

instr 1
Sfile     strget    p4
ivld      filevalid Sfile

if ivld=0 then
          printf_i  "Audiofile '%s' does not exist!\n", 1, Sfile
else
asig      diskin2   Sfile, 1
          outs      asig, asig
endif

endin

</CsInstruments>
<CsScore>

i 1 0 3 "frox.wav";file does not exist!!!
i 1 + 3 "fox.wav";but this one certainly does...

e
</CsScore>
</CsoundSynthesizer>


L'exemple produit la sortie suivante :

Audiofile 'frox.wav' does not exist!

Voir aussi

Plus d'information sur printf : http://www.cplusplus.com/reference/clibrary/cstdio/printf/

Crédits

Auteur : Istvan Varga
2005