aboutsummaryrefslogtreecommitdiff
path: root/site/udo/twist/transforms/reverb.udo
blob: e6f66eca397a7fa32242db0190ef01c964cd5f11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "/twist/transform_api.udo"

instr twst_tf_reverb1
	$TWST_TRANSFORM
	aL, aR, ileft, iright twst_getinput
	ktime = twst_param:k("time")
	if (ileft == 1) then
		aL reverb aL, ktime
	endif
	if (iright == 1) then
		aR reverb aR, ktime
	endif
	outs aL, aR
endin

instr twst_tf_reverb2
	$TWST_TRANSFORM
	aL, aR, ileft, iright twst_getinput
	ktime = twst_param:k("time")
	khfdamp = twst_param:k("hfdamp")
	if (ileft == 1) then
		aL nreverb aL, ktime, khfdamp
	endif
	if (iright == 1) then
		aR nreverb aR, ktime, khfdamp
	endif
	outs aL, aR
endin

instr twst_tf_reverb3
	$TWST_TRANSFORM
	aL, aR, ileft, iright twst_getinput
	kroomsize = twst_param:k("roomsize")
	khfdamp = twst_param:k("hfdamp")
	if (ileft != 1) then
		aL noise 0.001, 0.5
	endif
	if (iright != 1) then
		aR noise 0.001, 0.5
	endif
	aL, aR freeverb aL, aR, kroomsize, khfdamp
	outs aL, aR
endin

instr twst_tf_reverb4
	$TWST_TRANSFORM
	aL, aR, ileft, iright twst_getinput
	kfeedback = twst_param:k("feedback")
	khfdamp = twst_param:k("hfdamp") * (sr / 2)
	ipitchmod = twst_parami("pitchmod")
	if (ileft != 1) then
		aL noise 0.001, 0.5
	endif
	if (iright != 1) then
		aR noise 0.001, 0.5
	endif
	aL, aR reverbsc aL, aR, kfeedback, khfdamp, sr, ipitchmod
	outs aL, aR
endin


instr twst_tf_reverb5
	$TWST_TRANSFORM
	aL, aR, ileft, iright twst_getinput
	iwidth = twst_parami("width")
	idepth = twst_parami("depth")
	iheight = twst_parami("height")
	kposx = twst_param:k("posx") * iwidth
	kposy = twst_param:k("posy") * idepth
	kposz = twst_param:k("posz") * iheight
	if (ileft == 1 && iright == 1) then
		ainput = (aL + aR) * 0.5
	elseif (ileft != 1) then
		ainput = aR
	else
		ainput = aL
	endif
	aL, aR babo ainput, kposx, kposy, kposz, iwidth, idepth, iheight
	outs aL, aR
endin