Skip to content

Commit 859721d

Browse files
committed
only code
1 parent a7c9740 commit 859721d

6 files changed

Lines changed: 611 additions & 0 deletions

File tree

.DS_Store

6 KB
Binary file not shown.

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# https://git-scm.com/docs/gitignore
2+
# https://help.github.com/articles/ignoring-files
3+
# Example .gitignore files: https://github.com/github/gitignore
4+
/bower_components/
5+
/node_modules/

GUI.pde

Lines changed: 329 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,329 @@
1+
2+
////////////////////////////
3+
// Conrol Window ///////
4+
////////////////////////////
5+
6+
7+
ControlFrame addControlFrame(String theName, int theWidth, int theHeight) {
8+
Frame f = new Frame(theName);
9+
ControlFrame p = new ControlFrame(this, theWidth, theHeight);
10+
f.add(p);
11+
p.init();
12+
f.setTitle(theName);
13+
f.setSize(p.w, p.h);
14+
f.setLocation(100, 100);
15+
f.setResizable(false);
16+
f.setVisible(true);
17+
return p;
18+
}
19+
20+
// the ControlFrame class extends PApplet, so we
21+
// are creating a new processing applet inside a
22+
// new frame with a controlP5 object loaded
23+
public class ControlFrame extends PApplet {
24+
25+
int w, h;
26+
27+
public void setup() {
28+
size(w, h);
29+
frameRate(25);
30+
fill(255);
31+
background(0);
32+
List l = java.util.Arrays.asList(photoSets);
33+
cp5 = new ControlP5(this);
34+
35+
cp5.addBang("reload")
36+
.setLabel("REload").setPosition(20, 60).setSize(40, 20);
37+
38+
cp5.addToggle("PLAY")
39+
.plugTo(parent, "play")
40+
.setPosition(20, 20).setSize(w-40, 20);
41+
42+
cp5.addToggle("Wrap")
43+
.plugTo(parent, "wrap")
44+
.setState(true)
45+
.setPosition(w/2, 60).setSize(40, 20);
46+
47+
text("Sort Matrix", 20, 120);
48+
cp5.addCheckBox("sortMatrix")
49+
.setLabel("mode")
50+
.setPosition(20, 130).setSize(40, 20)
51+
.setColorLabel(color(255))
52+
.setItemsPerRow(3)
53+
.setSpacingColumn(10)
54+
55+
.addItem("1", 0).addItem("2", 0).addItem("3", 0)
56+
.addItem("4", 0).addItem("5", 0).addItem("6", 0)
57+
.addItem("7", 0).addItem("8", 0).addItem("9", 0)
58+
;
59+
60+
text("Mode", 20, 220);
61+
cp5.addRadioButton("changeMode")
62+
.setPosition(20, 230).setSize(15, 15)
63+
.setColorLabel(color(255))
64+
.setItemsPerRow(6)
65+
.setSpacingColumn(15)
66+
67+
.addItem("A", 0).addItem("B", 1).addItem("C", 2)
68+
.addItem("D", 3).addItem("E", 4).addItem("F", 5)
69+
.activate(2)
70+
;
71+
72+
cp5.addRange("range")
73+
.setBroadcast(false)
74+
.setPosition(20, 270)
75+
.setSize(w-60, 20)
76+
.setHandleSize(10)
77+
.setRange(0, 255)
78+
.setRangeValues(50, 100)
79+
.setBroadcast(true)
80+
;
81+
82+
cp5.addToggle("Sort Flip")
83+
.plugTo(parent, "logic")
84+
.setPosition(20, 300).setSize(60, 20)
85+
.setMode(ControlP5.SWITCH);
86+
87+
cp5.addSlider("FRate")
88+
.plugTo(parent, "frameRate")
89+
.setRange(0.5, 40)
90+
.setValue(25)
91+
.setPosition(20, 360)
92+
.setSize(w-60, 20)
93+
;
94+
95+
cp5.addBang("nextImage")
96+
.setLabel("next image")
97+
.setPosition(w/2, 410)
98+
.setSize(w/3, 20);
99+
100+
cp5.addToggle("PauseFlip")
101+
.plugTo(parent, "pauseFlip")
102+
.setLabel("No Flip")
103+
.setPosition(20, 410).setSize(w/3, 20);
104+
105+
106+
cp5.addSlider("flipTime")
107+
.plugTo(parent, "flipSpeed")
108+
.setRange(2, 100)
109+
.setValue(30)
110+
.setPosition(20, 460)
111+
.setSize(w-100, 20)
112+
;
113+
114+
115+
Group g3 = cp5.addGroup("g3")
116+
.setLabel("Albums")
117+
.setPosition(20, 520)
118+
.setSize(160, 100)
119+
.setBackgroundColor(color(50))
120+
;
121+
122+
123+
cp5.addScrollableList("albumlist")
124+
.setPosition(10, 10)
125+
.setSize(130, 80)
126+
.setGroup(g3)
127+
128+
.addItems(l)
129+
.setType(ScrollableList.DROPDOWN)
130+
.setOpen(false);
131+
}
132+
133+
134+
public void albumlist(int n) {
135+
136+
nSet =int(n);
137+
selectSet(nSet);
138+
}
139+
140+
public void controlEvent(ControlEvent theEvent) {
141+
if (theEvent.isFrom("range")) {
142+
higher = ceil(theEvent.getController().getArrayValue(0));
143+
lower = ceil(theEvent.getController().getArrayValue(1));
144+
}
145+
}
146+
147+
public void reload() {
148+
loadSrcs();
149+
loadSource();
150+
}
151+
public void nextImage() {
152+
nImg = (nImg+1)%totalImg;
153+
loadSource();
154+
}
155+
public void sortMatrix(float[] a) {
156+
rules[0][0] = boolean(floor(a[0]));
157+
rules[0][1] = boolean(floor(a[1]));
158+
rules[0][2] = boolean(floor(a[2]));
159+
rules[1][0] = boolean(floor(a[3]));
160+
rules[1][1] = boolean(floor(a[4]));
161+
rules[1][2] = boolean(floor(a[5]));
162+
rules[2][0] = boolean(floor(a[6]));
163+
rules[2][1] = boolean(floor(a[7]));
164+
rules[2][2] = boolean(floor(a[8]));
165+
}
166+
public void changeMode(int a) {
167+
mode = a;
168+
}
169+
public void draw() {
170+
171+
// NOTHING //
172+
}
173+
174+
175+
public void keyPressed() {
176+
//println(keyCode);
177+
// keycode ref. at http://keycodes.atjayjo.com/
178+
179+
// you can use the keyboard instead of the visual controls
180+
// but the changes made won't reflect on the knobs and sliders
181+
// in the control window
182+
183+
switch(keyCode) {
184+
case 48:
185+
setRules();
186+
break;
187+
case 49:
188+
rules[0][0] = !rules[0][0];
189+
break;
190+
case 50:
191+
rules[0][1] = !rules[0][1];
192+
break;
193+
case 51:
194+
rules[0][2] = !rules[0][2];
195+
break;
196+
case 52:
197+
rules[1][0] = !rules[1][0];
198+
break;
199+
case 53:
200+
rules[1][1] = !rules[1][1];
201+
break;
202+
case 54:
203+
rules[1][2] = !rules[1][2];
204+
break;
205+
case 55:
206+
rules[2][0] = !rules[2][0];
207+
break;
208+
case 56:
209+
rules[2][1] = !rules[2][1];
210+
break;
211+
case 57:
212+
rules[2][2] = !rules[2][2];
213+
break;
214+
215+
case 82:
216+
loadSrcs();
217+
loadSource(); // r
218+
break;
219+
case 38: // up arrow
220+
higher++;
221+
println("low " +higher);
222+
break;
223+
case 40: // down arrow
224+
higher--;
225+
println("low " + higher);
226+
break;
227+
case 37: // up arrow
228+
lower--;
229+
println("high " +lower);
230+
break;
231+
case 39: // down arrow
232+
lower++;
233+
println("high " +lower);
234+
break;
235+
case 32: // space toggles animation
236+
play=!play;
237+
break;
238+
case 87: // w toggles edge wrap mode
239+
wrap=!wrap;
240+
break;
241+
case 65: // a toggles edge wrap mode
242+
mode=0;
243+
break;
244+
case 66: // b toggles edge wrap mode
245+
mode=1;
246+
break;
247+
case 67: // c toggles edge wrap mode
248+
mode=2;
249+
break;
250+
case 68: // d toggles edge wrap mode
251+
mode=3;
252+
break;
253+
case 69: // e toggles edge wrap mode
254+
mode=4;
255+
break;
256+
case 70: // f toggles edge wrap mode
257+
mode=5;
258+
break;
259+
260+
case 91: // { slows down pixelsort
261+
if (frameRate>1) {
262+
frameRate(frameRate -2);
263+
println("fR = "+frameRate);
264+
}
265+
break;
266+
case 93: // } speeds up pixelsort
267+
if (frameRate<60) {
268+
frameRate(frameRate +2);
269+
println("fR = "+frameRate);
270+
}
271+
break;
272+
case 59: // ; slows down next image
273+
if (flipSpeed < 160) {
274+
flipSpeed +=12;
275+
println("Flip Speed = "+flipSpeed);
276+
}
277+
break;
278+
case 222: // ' speeds up next image
279+
if (flipSpeed > 12) {
280+
flipSpeed -=12;
281+
println("Flip Speed = "+flipSpeed);
282+
}
283+
break;
284+
case 78: // n loads next image
285+
nImg = (nImg+1)%totalImg;
286+
loadSource();
287+
break;
288+
case 76: // l pauses flip
289+
pauseFlip =!pauseFlip;
290+
break;
291+
case 77: // m loads next image set
292+
nSet = (nSet+1)%photoSets.length;
293+
selectSet(nSet);
294+
break;
295+
case 80:
296+
printFrame=!printFrame;
297+
printFNum=0;
298+
break;
299+
case 44: // ,
300+
logic = 0;
301+
break;
302+
case 46: //.
303+
logic = 1;
304+
break;
305+
}
306+
}
307+
308+
309+
310+
private ControlFrame() {
311+
}
312+
313+
public ControlFrame(Object theParent, int theWidth, int theHeight) {
314+
parent = theParent;
315+
w = theWidth;
316+
h = theHeight;
317+
}
318+
319+
320+
public ControlP5 control() {
321+
return cp5;
322+
}
323+
324+
325+
ControlP5 cp5;
326+
327+
Object parent;
328+
}
329+

0 commit comments

Comments
 (0)