Skip to content

printk2

Prints a new value every time a control variable changes.

Syntax

printk2 kvar [, inumspaces] [, inamed]

Initialization

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.

Performance

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

Examples

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

Example of the printk2 opcode.
<CsoundSynthesizer>
<CsOptions>
; 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
</CsOptions>
<CsInstruments>

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
endif

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

endin
</CsInstruments>
<CsScore>
f1 0 16384 10 1

i 1 0 5
e
</CsScore>
</CsoundSynthesizer>

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

Credits

Author: Gabriel Maldonado
Italy
1998

New in Csound version 3.48

named option new in 6.11