-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWave.pde
More file actions
90 lines (82 loc) · 1.99 KB
/
Copy pathWave.pde
File metadata and controls
90 lines (82 loc) · 1.99 KB
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
81
82
83
84
85
86
87
88
89
90
class Wave extends Frame {
float amt = in.bufferSize();
float w;
float[] wave = new float[(int)amt];
ArrayList<Integer> max;
ArrayList<Integer> min;
void load() {
w = width / amt;
}
void frame() {
colorMode(RGB);
noStroke();
background(0);
pushMatrix();
translate(0, height/2);
for (int i = 0; i < amt; i++) {
/*wave[i] *= 0.9;
if (in.mix.get(i) > 0) {
if (wave[i] < in.mix.get(i)) {
wave[i] = in.mix.get(i);
}
} else {
if (wave[i] > in.mix.get(i)) {
wave[i] = in.mix.get(i);
}
}*/
wave[i] = in.mix.get(i);
}
max = new ArrayList<Integer>();
min = new ArrayList<Integer>();
for (int i = 1; i < amt - 1; i++) {
if (wave[i - 1] < wave[i] && wave[i] > wave[i + 1]) {
max.add(i);
} else if (wave[i - 1] > wave[i] && wave[i] < wave[i + 1]) {
min.add(i);
}
}
//for (int i = 0; i < amt; i++) {
// fix(i);
//}
strokeWeight(2);
for (int i = 1; i < amt; i++) {
float y1 = wave[i - 1] * height/2;
float y2 = wave[i] * height/2;
float dy = (wave[i] + wave[i - 1]) / 2;
float b = 64 + 64 * dy;
stroke(b, 128, 128);
line(i * w, y1, i * w + w, y2);
}
for (int i = 1; i < max.size(); i++) {
float y1 = wave[i - 1] * height/2;
float y2 = wave[i] * height/2;
float dy = (wave[i] + wave[i - 1]) / 2;
float b = 64 + 64 * dy;
stroke(b, 128, 128);
line(i * w, y1, i * w + w, y2);
}
popMatrix();
}
/*void fix(int i) {
if (i <= 0) {
if (mixt[0] < mixt[1] * off) {
mixt[0] = mixt[1] * off;
fix(1);
}
} else if (i >= amt - 1) {
if (mixt[(int)amt - 1] < mixt[(int)amt - 2] * off) {
mixt[(int)amt - 1] = mixt[(int)amt - 2] * off;
fix((int)amt - 2);
}
} else {
if (mixt[i] < mixt[i-1] * off) {
mixt[i] = mixt[i-1] * off;
fix(i+1);
}
if (mixt[i] < mixt[i+1] * off) {
mixt[i] = mixt[i+1] * off;
fix(i-1);
}
}
}*/
}