printsk

printks — Affiche au taux-k en utilisant une syntaxe à la printf().

Description

Affiche au taux-k en utilisant une syntaxe à la printf(). Cet opcode affiche à chaque cycle, potentiellement plusieurs fois par cycle. Utilisé à l'intérieur d'un bloc if, il peut se comporter comme printf, printks (lorsqu'il est utilisé avec metro) ou printks2 (lorsqu'il est utilisé avec changements).

Syntaxe

printsk "string", [, xval1] [, xval2] [...]

Initialisation

"string" -- la chaîne de caractères à afficher. Peut aller jusqu'à 8192 caractères et doit être entre guillemets.

Exécution

xval1, xval2, ... (facultatif) -- Les valeurs de taux-k à afficher. Celles-ci sont spécifiées dans « string » avec les spécifications de conversion (%f, %d, %s etc) du C standard dans l'ordre donné.

Formatage de l'impression

Tous les caractères de contrôle du printf() du C standard peuvent être utilisés. Par exemple, si kval1 = 153.26789, certaines options de formatage sont :

  1. %f affiche en pleine précision : 153.26789

  2. %5.2f affiche : 153.26

  3. %d n'affiche que des entiers : 153

  4. %c traite kval1 comme un code ascii de caractère.

Pour plus d'information sur le formatage dans printf(), consulter la documentation du langage C.

Exemples

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

Exemple 760. Exemple de l'opcode printsk.

<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 64
nchnls = 1

instr 1
  ; printsk is executed at k-time, possibly multiples times per cycle.
  k0 = 0
  while k0 < 20 do
    if k0 % 2 == 0 then
      printsk "k0 = %d\n", k0
    endif
    k0 += 1
  od
endin

instr 2
  ; println is similar to printsk but appends a new line
  k0 = 0
  while k0 < 20 do
    if k0 % 2 == 0 then
      println "k0 = %d", k0
    endif
    k0 += 1
  od
endin


</CsInstruments>
<CsScore>

i 1 0 0.1
i 2 0.1 0.1
e


</CsScore>
</CsoundSynthesizer>


Voir aussi

printks, printf, println

Crédits

Par : Eduardo Moguillansky 2020

Nouveau greffon dans la version 6.15