changed — k-rate signal change detector.
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.
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.
Here is an example of the changed opcode. It uses the file changed.csd.
Example 109. 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 .........