inum -- the number of a clock. There are 32 clocks numbered 0 through 31. All other values are mapped to clock number 32.
ir -- value at i-time, of the clock specified by inum
Between a clockon and a clockoff opcode, the CPU time used is accumulated in the clock. The precision is machine dependent but is the millisecond range on UNIX and Windows systems. The readclock opcde reads the current value of a clock at initialization time.
Here is an example of the readclock opcode. It uses the files readclock.orc and readclock.sco.
Example 321. Example of the readclock opcode.
/* readclock.orc */ ; Initialize the global variables. sr = 44100 kr = 44100 ksmps = 1 nchnls = 1 ; Instrument #1. instr 1 ; Start clock #1. clockon 1 ; Do something that keeps Csound busy. a1 oscili 10000, 440, 1 out a1 ; Stop clock #1. clockoff 1 ; Print the time accumulated in clock #1. i1 readclock 1 print i1 endin /* readclock.orc */
/* readclock.sco */ ; Initialize the function tables. ; Table 1: an ordinary sine wave. f 1 0 32768 10 1 ; Play Instrument #1 for one second starting at 0:00. i 1 0 1 ; Play Instrument #1 for one second starting at 0:01. i 1 1 1 ; Play Instrument #1 for one second starting at 0:02. i 1 2 1 e /* readclock.sco */
Its output should include lines like this:
instr 1: i1 = 0.000 instr 1: i1 = 90.000 instr 1: i1 = 180.000