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

## changed2

changed2 — Détecteur de changement d'un signal de taux-k.

## Description

Cet opcode renvoie un signal de déclenchement indiquant tout changement d'un de ses arguments de taux-k ou d'une valeur dans un tableau. Utile avec les widgets valuateurs ou les contrôleurs MIDI.

## Syntaxe

    ktrig changed2 kvar1 [, kvar2,..., kvarN]

    ktrig changed2 karr[]

    ktrig changed2 aarr[]

## Exécution

ktrig - Renvoie la valeur 1 lorsqu'un des signaux de taux-k ou qu'une valeur du tableau a changé, sinon renvoie la valeur 0.

kvar1 [, kvar2,..., kvarN] - variables de taux-k dont les changements sont surveillés.

xarray - n'importe quel type de tableau.

Au contraire de l'opcode changed cet opcode ne rapporte jamais le premier cycle comme un changement.

## Exemples

Voici deux exemples de l'opcode changed2. Il utilise les fichiers changed2.csd et changed2a.csd.

Exemple 127. Exemple de l'opcode changed2.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac     ;;;RT audio out
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o changed.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2

    instr 1

    ksig  oscil 2, 0.5, 1
    kint  = int(ksig)
    ktrig changed2 kint
          printk 0.2, kint
          printk2 ktrig

    endin

    </CsInstruments>
    <CsScore>
    f 1 0 1024 10 1
    i 1 0 20

    e
    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra des lignes comme celles-ci:

     i   1 time     0.00267:     0.00000
     i1     0.00000
     i1     1.00000
     i1     0.00000
     i   1 time     0.20267:     1.00000
     i   1 time     0.40267:     1.00000
     i1     1.00000
     i1     0.00000
     i   1 time     0.60267:     1.00000
     i   1 time     0.80267:     1.00000
     i1     1.00000
     i1     0.00000
     i   1 time     1.00000:     0.00000
     i1     1.00000
     i1     0.00000
     i   1 time     1.20267:    -1.00000
     i   1 time     1.40267:    -1.00000
     i1     1.00000
     i1     0.00000
     i   1 time     1.60267:    -1.00000
     i   1 time     1.80000:    -1.00000
     i1     1.00000
     i1     0.00000
     i   1 time     2.00000:    -0.00000
     i1     1.00000
     i1     0.00000
     .........

Exemple 128. Exemple de l'opcode changed2.

    <CsoundSynthesizer>

    <CsOptions>
    -n
    </CsOptions>
    <CsInstruments>
    gkArray[][] init   2,3
    gkArray     fillarray  1,2,3,7,6,5

    instr 1
    k1 changed2 gkArray
    if k1==1 then
        printks "An element in the array changed", 0
    endif
    endin

    instr 2; change value of channel 'step1'
        gkArray[1][0] = 3
    endin

    </CsInstruments>
    <CsScore>
    i1 0 100
    i2 4 .1
    </CsScore>

    </CsoundSynthesizer>

## Crédits

Ecrit par John ffitch.

Exemple écrit par Andrés Cabrera.

Nouveau dans Csound 6.7.

Précédent | Niveau supérieur | Suivant
changed | Sommaire | chani