isig -- initializes the value of the zk location.
indx -- points to the zk or za location to which to write.
ziw writes isig into the zk variable specified by indx.
These opcodes are fast, and always check that the index is within the range of zk or za space. If not, an error is reported, 0 is returned, and no writing takes place.
Here is an example of the ziw opcode. It uses the files ziw.orc and ziw.sco.
Example 15-1. Example of the ziw opcode.
/* ziw.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Initialize the ZAK space.
; Create 1 a-rate variable and 1 k-rate variable.
zakinit 1, 1
; Instrument #1 -- a simple instrument.
instr 1
; Set zk variable #1 to 64.182.
ziw 64.182, 1
endin
; Instrument #2 -- prints out zk variable #1.
instr 2
; Read zk variable #1 at i-rate.
i1 zir 1
; Print out the value of zk variable #1.
print i1
endin
/* ziw.orc */
/* ziw.sco */
; Play Instrument #1 for one second.
i 1 0 1
; Play Instrument #2 for one second.
i 2 0 1
e
/* ziw.sco */