define(DELAYPARAMS,[; Functions needed: function(s) for p6,p13 & p19
; p4 = 1st delay time (c. .02-.15)  p5 = 2nd delays time
; p6 = rate of change btw p10 & p11 (if 0 = 1/p3)(if >100 = (p12-100)/p3)
; p7 function for change between p4 & p5 (most often 52 or 62)
; p8 = % r.d.   p9 = r.d. rate
; --  p10-p14: % sent through delay unit:
; p10 = 1st %         p11 = 2nd %
; p12 = rate of change btw p10 & p11 (if 0 = 1/p3)(if >100 = (p12-100)/p3)
; p13 function for change between p10 & p11 (most often 52 or 62)
; p14 = % r.d.   p15 = r.d. rate
; --   p16-p21: % feedback
; p16 = 1st %                p17 = 2nd %
; p18 = rate of change (same default & flag values as p12)       
; p19 = function #  for change between p15 & p16 (usually 52 or 62)
; p20 = % random deviation     p21 = r.d. rate])dnl
define(DELAYBODY,[ p12 = (p12=0?1/p3:p12)                       
p12 = (p12>100?(p12-100)/p3:p12)
p7 = (p7 = 0? 52 : p7)
p13 = (p13 = 0? 52 : p13)
p19 = (p19 = 0? 52 : p19)
k1 oscili p11-p10,p12,p13            ; varies % of signal sent to delay unit
k1 = k1+p10
k2 randi p14*k1,p15

a1 = (k1+k2)*gadelin1               ; signal sent to delay unit
a2 = (1-(k1+k2))*gadelin1           ; signal bypassing delay unit

i1 = (p6=0?1/p3:p6)                       
i1 = (p6>100?(p6-100)/p3:i1)
idel = (p4>p5?p4:p5)
adeltime	oscili p4-p5,i1,p7
adeltime = adeltime + p5
;	krandtime	randi p8,p9
arandtime	randi p8,p9
adeltime = adeltime + (arandtime * adeltime)
adel 	delayr idel+(p8*idel)
a1out	deltapi  adeltime
	delayw   a1+gadelfeed1

i2 = (p18=0?1/p3:p18)
i2 = (p18>100?(p18-100)/p3:i2)
k3 oscili p17-p16,i2,p19  ; varies % of feedback
k3 = k3+p16
k4 randi p20*k3,p21])dnl
