init
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## init

init — Met la valeur de l'expression de taux-i dans une variable de taux-k ou de taux-a, ou dans une variable-t.

## Syntaxe

    ares init iarg

    ires init iarg

    kres init iarg

    ares, ...  init iarg, ...

    ires, ... init iarg, ...

    kres, ... init iarg, ...

    tab init isize[, ival]

## Description

Met la valeur de l'expression de taux-i dans une variable de taux-k ou de taux-a.

## Initialisation

Met la valeur de l'expression de taux-i iarg dans une variable de taux-k ou de taux-a, ou dans une variable-t, c-à-d., initialise le résultat. Noter que init présente le seul cas d'une instruction de la période d'initialisation autorisée à écrire dans un résultat de la période d'exécution (taux-k ou -a) ; cette instruction n'a aucun effet pendant l'exécution.

Depuis la version 5.13 il est possible d'initialiser jusqu'à 24 variables de la même classe dans une instruction. S'il y a plus de variables en sortie que d'expressions en entrée, la dernière expression est répétée. C'est une erreur d'avoir plus d'entrées que de sorties.

La forme variable-t, introduite dans la version 5.14, alloue de l'espace pour un vecteur de la taille donnée, initialisé avec la valeur donnée (qui vaut zéro par défaut).

## Exemples

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

Exemple 461. Exemple de l'opcode init.

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
    -n  ;no sound output
    </CsOptions>
    <CsInstruments>

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

    instr 1 ;shows what init does
            kinit init 0
            kinit = kinit + 1
            printk .1, kinit
    endin

    instr 2 ;shows what an assignment does
            knoinit = 0
            knoinit = knoinit + 1
            printk .1, knoinit
    endin
    </CsInstruments>
    <CsScore>
    ;play one second each
    i1 0 1
    i2 2 1
    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci :

     i   1 time     0.00073:     1.00000
     i   1 time     0.10014:   138.00000
     i   1 time     0.20027:   276.00000
     i   1 time     0.30041:   414.00000
     i   1 time     0.40054:   552.00000
     i   1 time     0.50068:   690.00000
     i   1 time     0.60009:   827.00000
     i   1 time     0.70023:   965.00000
     i   1 time     0.80036:  1103.00000
     i   1 time     0.90050:  1241.00000

     i   2 time     2.00054:     1.00000
     i   2 time     2.09995:     1.00000
     i   2 time     2.20009:     1.00000
     i   2 time     2.30023:     1.00000
     i   2 time     2.40036:     1.00000
     i   2 time     2.50050:     1.00000
     i   2 time     2.59991:     1.00000
     i   2 time     2.70005:     1.00000
     i   2 time     2.80018:     1.00000
     i   2 time     2.90032:     1.00000

## Voir aussi

=, divz, tival

D'autres informations sur cet opcode dans les Floss Manuals : https://flossmanual.csound.com/csound-language/initialization-and-performance-pass

## Crédits

init était présent dans le Csound original, mais l'extension aux valeurs multiples a été ajoutée par

Auteur : John ffitch
Université de Bath, and Codemist Ltd.
Bath, UK
February 2010

La forme multiple a été introduite dans la version 5.13 ; la forme variable-t apparait dans la version 5.14.

Précédent | Niveau supérieur | Suivant
inh | Sommaire | initc14