printk2 — Prints a new value every time a control variable changes.


Prints a new value every time a control variable changes.


printk2 kvar [, inumspaces]


inumspaces (optional, default=0) -- number of space characters printed before the value of kvar


kvar -- signal to be printed

Derived from Robin Whittle's printk, prints a new value of kvar each time kvar changes. Useful for monitoring MIDI control changes when using sliders.

[Warning] Warning

WARNING! Don't use this opcode with normal, continuously variant k-signals, because it can hang the computer, as the rate of printing is too fast.


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

Example 631. Example of the printk2 opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

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

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

instr 1

kval    randomh 0, 1.2, 20		;choose between 0 and 1.2
if kval >0 && kval<=.5 then		;3 possible outcomes
	kval = 1			
elseif kval >.5 && kval<=1 then
	kval =2
elseif kval >1 then
	kval =3

printk2 kval				;print value when it changes
asig    poscil .7, 440*kval, 1
        outs asig, asig

f1 0 16384 10 1

i 1 0 5

Its output should include lines like these:

 i1     0.00000
 i1     3.00000
 i1     1.00000
 i1     3.00000
 i1     1.00000
 i1     2.00000
 i1     3.00000

See Also

printk and printks


Author: Gabriel Maldonado

New in Csound version 3.48