printk2

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

Description

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

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 790. Example of the printk2 opcode.

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

<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