pindex — Returns the value of a specified pfield.
Here is an example of the pindex opcode. It uses the file pindex.csd.
Example 323. Example of the pindex 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 No messages MIDI in -odac -iadc ; -d -M0 ;;;RT audio I/O with MIDI in ; For Non-realtime ouput leave only the line below: ;-o pindex.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ;Example by Anthony Kozar Dec 2006 instr 1 inum pcount index init 1 loop1: ivalue pindex index printf_i "p%d = %f\n", 1, index, ivalue index = index + 1 if (index <= inum) igoto loop1 print inum endin </CsInstruments> <CsScore> i1 0 3 40 50 ; has 5 pfields i1 1 2 80 ; has 5 due to carry i1 2 1 40 50 60 70 ; has 7 e </CsScore> </CsoundSynthesizer>
The example will produce the following output:
new alloc for instr 1: WARNING: instr 1 uses 3 p-fields but is given 5 p1 = 1.000000 p2 = 0.000000 p3 = 3.000000 p4 = 40.000000 p5 = 50.000000 instr 1: inum = 5.000 B 0.000 .. 1.000 T 1.000 TT 1.000 M: 0.0 new alloc for instr 1: WARNING: instr 1 uses 3 p-fields but is given 5 p1 = 1.000000 p2 = 1.000000 p3 = 2.000000 p4 = 80.000000 p5 = 50.000000 instr 1: inum = 5.000 B 1.000 .. 2.000 T 2.000 TT 2.000 M: 0.0 new alloc for instr 1: WARNING: instr 1 uses 3 p-fields but is given 7 p1 = 1.000000 p2 = 2.000000 p3 = 1.000000 p4 = 40.000000 p5 = 50.000000 p6 = 60.000000 p7 = 70.000000 instr 1: inum = 7.000
The warnings can be ignored, because the pfields are used indirectly through pindex instead of explicitly through p4, p5, etc.