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


Prints a new value every time a control variable changes.


printk2 kvar [, inumspaces] [, inamed]


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

inamed (optional, default=0) -- if non zero print the name of the kvar as well as the value.


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! Do not 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 804. 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

Printing and Display


Author: Gabriel Maldonado

New in Csound version 3.48

named option new in 6.11