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.

Examples

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

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

Credits

Written by Gabriel Maldonado.

Example written by Andrés Cabrera.

New in Csound 5 (Previously available only on CsoundAV)