Model is now in processing, not glucose
[SugarCubes.git] / SugarCubes.pde
CommitLineData
49815cc0
MS
1/**
2 * +-+-+-+-+-+ +-+-+-+-+-+
3 * / /| |\ \
0e3c5542 4 * / / + + \ \
49815cc0
MS
5 * +-+-+-+-+-+ | +-+-+-+-+ | +-+-+-+-+-+
6 * | | + / \ + | |
7 * + THE + / / \ \ + CUBES +
8 * | |/ +-+-+-+-+-+-+-+ \| |
9 * +-+-+-+-+-+ | | +-+-+-+-+-+
10 * + +
11 * | SUGAR |
12 * + +
13 * | |
14 * +-+-+-+-+-+-+-+
15 *
16 * Welcome to the Sugar Cubes! This Processing sketch is a fun place to build
17 * animations, effects, and interactions for the platform. Most of the icky
b9b7b3d4
MS
18 * code guts are embedded in the HeronLX library, or files prefixed with
19 * an underscore. If you're an artist, you shouldn't need to worry about that.
49815cc0
MS
20 *
21 * Below, you will find definitions of the Patterns, Effects, and Interactions.
22 * If you're an artist, create a new tab in the Processing environment with
23 * your name. Implement your classes there, and add them to the list below.
24 */
75e1ddde 25
49815cc0 26LXPattern[] patterns(GLucose glucose) {
4861d6c4 27 return new LXPattern[] {
2815b690 28
f7f0bfe5
LW
29 new SineSphere(glucose),
30 //new CubeCurl(glucose),
1a92d73a 31
d1dcc4b5 32 // Slee
fa1767c1 33 // new Cathedrals(glucose),
b9b7b3d4 34 new Swarm(glucose),
d93c968f 35 new MidiMusic(glucose),
0137237d 36 new Pulley(glucose),
fa1767c1 37
4760e696 38 new ViolinWave(glucose),
d1dcc4b5 39 new BouncyBalls(glucose),
87f6fa39 40 new SpaceTime(glucose),
1627a617
MS
41 new ShiftingPlane(glucose),
42 new AskewPlanes(glucose),
87f6fa39
MS
43 new Blinders(glucose),
44 new CrossSections(glucose),
45 new Psychedelia(glucose),
6a4882dd
BM
46
47 new MultipleCubes(glucose),
4c006f7b
MS
48
49 new Traktor(glucose).setEligible(false),
50 new BassPod(glucose).setEligible(false),
254fbb68
MS
51 new CubeEQ(glucose).setEligible(false),
52 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 53
b9b7b3d4
MS
54 // AntonK
55 new AKPong(glucose),
69f25521 56
d1dcc4b5 57 // DanH
4c006f7b 58 new Noise(glucose),
7e3329d2 59 new Play (glucose),
60 new Pong (glucose),
61 new Worms(glucose),
4c006f7b 62
58888c69
JR
63 // JR
64 new Gimbal(glucose),
65
0b1785e3 66 // Alex G
1d414e45 67
b9b7b3d4 68 // Tim
9f73bc0e 69 new TimMetronome(glucose),
fa1767c1
AG
70 new TimPlanes(glucose),
71 new TimPinwheels(glucose),
72 new TimRaindrops(glucose),
73 new TimCubes(glucose),
74 // new TimTrace(glucose),
75 new TimSpheres(glucose),
76
37ab5878 77 // Jackie
78 new JackieSquares(glucose),
4a60ba58 79 new JackieLines(glucose),
80 new JackieDots(glucose),
81
4861d6c4 82 // L8on
2815b690 83 new L8onAutomata(glucose),
ea4abd09
LW
84 new L8onLife(glucose),
85 new L8onStripLife(glucose),
2815b690 86
20e7c94f
VS
87 // Vincent
88 new VSTowers(glucose),
4c006f7b
MS
89
90 // Toby
a673599f 91 new GlitchPlasma(glucose),
254fbb68 92 new FireEffect(glucose).setEligible(false),
b4aaf4e4 93 new StripBounce(glucose),
254fbb68
MS
94 new SoundRain(glucose).setEligible(false),
95 new SoundSpikes(glucose).setEligible(false),
821ceae9 96 new FaceSync(glucose),
b6641090
MS
97
98 // Jack
99 new Swim(glucose),
8185ec8f 100 new Balance(glucose),
1c56d2f1 101
b6641090 102 // Ben
51227786 103 // new Sandbox(glucose),
467c8c60 104 new TowerParams(glucose),
b6641090
MS
105 new DriveableCrossSections(glucose),
106 new GranimTestPattern2(glucose),
51227786 107
fa1767c1 108 // Shaheen
b9b7b3d4 109 // new HelixPattern(glucose).setEligible(false),
fa1767c1 110
b6641090
MS
111 // Sam
112 new JazzRainbow(glucose),
80785186 113
0208d845
AB
114 // Arjun
115 new TelevisionStatic(glucose),
116 new AbstractPainting(glucose),
117 new Spirality(glucose),
a7c8d80a 118
254d34c0 119 // Basic test patterns for reference, not art
bfff6bc2 120 new TestCubePattern(glucose),
186bc4d3 121 new TestTowerPattern(glucose),
0ba6ac44 122 new TestProjectionPattern(glucose),
254fbb68 123 new TestStripPattern(glucose),
186bc4d3
MS
124 // new TestHuePattern(glucose),
125 // new TestXPattern(glucose),
126 // new TestYPattern(glucose),
127 // new TestZPattern(glucose),
f3f5a876 128
49815cc0
MS
129 };
130}
131
132LXTransition[] transitions(GLucose glucose) {
133 return new LXTransition[] {
3f8be614 134 new DissolveTransition(lx),
32986078 135 new AddTransition(glucose),
fe30b226 136 new MultiplyTransition(glucose),
fe30b226 137 new OverlayTransition(glucose),
32986078 138 new DodgeTransition(glucose),
49815cc0 139 new SwipeTransition(glucose),
3f8be614 140 new FadeTransition(lx),
32986078 141// new SubtractTransition(glucose), // similar to multiply - dh
b9b7b3d4
MS
142// new BurnTransition(glucose), // similar to multiply - dh
143// new ScreenTransition(glucose), // same as add -dh
32986078 144// new SoftLightTransition(glucose), // same as overlay -dh
49815cc0
MS
145 };
146}
147
75e1ddde 148// Handles to globally triggerable effects
24fc0330
MS
149class Effects {
150 FlashEffect flash = new FlashEffect(lx);
151 BoomEffect boom = new BoomEffect(glucose);
152 BlurEffect blur = new BlurEffect(glucose);
153 QuantizeEffect quantize = new QuantizeEffect(glucose);
154 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
155
156 Effects() {
157 blur.enable();
158 quantize.enable();
159 colorFucker.enable();
160 }
49815cc0 161}
24fc0330 162