printk2 — Prints a new value every time a control variable changes.
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! 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. Play printk2.csd
Example 785. 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 .....