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 342. 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
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o printk2.wav -W ;;; for file output any platform

; Initialize the global variables.
sr = 44100
kr = 44100
ksmps = 1
nchnls = 1

; Instrument #1.
instr 1
  ; Change a value linearly from 0 to 10,
  ; over the period defined by p3.
  kval1 line 0, p3, 10

  ; If kval1 is greater than or equal to 5, 
  ; then kval=2, else kval=1.
  kval2 = (kval1 >= 5 ? 2 : 1)

  ; Print the value of kval2 when it changes.
  printk2 kval2


; Play Instrument #1 for 5 seconds.
i 1 0 5


Its output should include a line like this:

 i1     1.00000
 i1     2.00000

See Also

printk and printks


Author: Gabriel Maldonado

Example written by Kevin Conder.

New in Csound version 3.48