changed
Prev | Orchestra Opcodes and Operators | Next

## changed

changed — k-rate signal change detector.

## Description

This opcode outputs a trigger signal that informs when any one of its k-rate arguments has changed. Useful with valuator widgets or MIDI controllers.

## Syntax

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

## Performance

ktrig - Outputs a value of 1 when any of the k-rate signals has changed, otherwise outputs 0.

kvar1 [, kvar2,..., kvarN] - k-rate variables to watch for changes.

| Note
If any of the kvars is non-zero at the first k-cycle changed is called it will report a change. For more consistent behaviour use changed2.

## Examples

Here is an example of the changed opcode. It uses the file changed.csd.

Example 130. Example of the changed opcode.

    <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 changed kint
          printk 0.2, kint
          printk2 ktrig

    endin

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

    e
    </CsScore>
    </CsoundSynthesizer>

Its output should include lines like:

     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
     .........

## See also

Sensing and Control: Tempo and Sequencing

## Credits

Written by Gabriel Maldonado.

Example written by Andrés Cabrera.

New in Csound 5.7.

Prev | Up | Next
chanctrl | Home | changed2