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
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! 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.
<CsoundSynthesizer> <CsOptions> ; 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 </CsOptions> <CsInstruments> ; 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 endin </CsInstruments> <CsScore> ; Play Instrument #1 for 5 seconds. i 1 0 5 e </CsScore> </CsoundSynthesizer>
Its output should include a line like this:
i1 1.00000 i1 2.00000