timmetronome
[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
18 * code guts are embedded in the GLucose library extension. If you're an
19 * artist, you shouldn't need to worry about any of that.
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
MS
26LXPattern[] patterns(GLucose glucose) {
27 return new LXPattern[] {
9f73bc0e 28
29 new SineSphere(glucose),
1a92d73a
AG
30 //new CubeCurl(glucose),
31
d1dcc4b5 32 // Slee
fa1767c1
AG
33 // new Cathedrals(glucose),
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),
4c006f7b
MS
46
47 new Traktor(glucose).setEligible(false),
48 new BassPod(glucose).setEligible(false),
254fbb68
MS
49 new CubeEQ(glucose).setEligible(false),
50 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 51
d1dcc4b5 52 // DanH
4c006f7b 53 new Noise(glucose),
7e3329d2 54 new Play (glucose),
55 new Pong (glucose),
56 new Worms(glucose),
4c006f7b 57
0b1785e3 58 // Alex G
1d414e45 59
fa1767c1 60 // Tim
9f73bc0e 61 new TimMetronome(glucose),
fa1767c1
AG
62 new TimPlanes(glucose),
63 new TimPinwheels(glucose),
64 new TimRaindrops(glucose),
65 new TimCubes(glucose),
66 // new TimTrace(glucose),
67 new TimSpheres(glucose),
9f73bc0e 68
69
fa1767c1 70
37ab5878 71 // Jackie
72 new JackieSquares(glucose),
4a60ba58 73 new JackieLines(glucose),
74 new JackieDots(glucose),
75
8cedfe61 76
20e7c94f
VS
77
78 // Vincent
79 new VSTowers(glucose),
4c006f7b
MS
80
81 // Toby
a673599f 82 new GlitchPlasma(glucose),
254fbb68 83 new FireEffect(glucose).setEligible(false),
b4aaf4e4 84 new StripBounce(glucose),
254fbb68
MS
85 new SoundRain(glucose).setEligible(false),
86 new SoundSpikes(glucose).setEligible(false),
821ceae9 87 new FaceSync(glucose),
b6641090
MS
88
89 // Jack
90 new Swim(glucose),
8185ec8f 91 new Balance(glucose),
b6641090 92
fa1767c1 93
b6641090 94 // Ben
51227786 95 // new Sandbox(glucose),
467c8c60 96 new TowerParams(glucose),
b6641090
MS
97 new DriveableCrossSections(glucose),
98 new GranimTestPattern2(glucose),
51227786 99
fa1767c1
AG
100 // Shaheen
101 //new HelixPattern(glucose).setEligible(false),
102
51227786 103 //JR
a7c8d80a 104 new Gimbal(glucose),
51227786 105
b6641090
MS
106 // Sam
107 new JazzRainbow(glucose),
80785186 108
0208d845
AB
109 // Arjun
110 new TelevisionStatic(glucose),
111 new AbstractPainting(glucose),
112 new Spirality(glucose),
a7c8d80a 113
254d34c0 114 // Basic test patterns for reference, not art
bfff6bc2 115 new TestCubePattern(glucose),
186bc4d3 116 new TestTowerPattern(glucose),
0ba6ac44 117 new TestProjectionPattern(glucose),
254fbb68 118 new TestStripPattern(glucose),
1d75c8a9
MS
119 new TestBassMapping(glucose),
120 new TestFloorMapping(glucose),
121 new TestSpeakerMapping(glucose),
186bc4d3
MS
122 // new TestHuePattern(glucose),
123 // new TestXPattern(glucose),
124 // new TestYPattern(glucose),
125 // new TestZPattern(glucose),
f3f5a876 126
49815cc0
MS
127 };
128}
129
130LXTransition[] transitions(GLucose glucose) {
131 return new LXTransition[] {
3f8be614 132 new DissolveTransition(lx),
32986078 133 new AddTransition(glucose),
fe30b226 134 new MultiplyTransition(glucose),
fe30b226 135 new OverlayTransition(glucose),
32986078 136 new DodgeTransition(glucose),
49815cc0 137 new SwipeTransition(glucose),
3f8be614 138 new FadeTransition(lx),
32986078 139// new SubtractTransition(glucose), // similar to multiply - dh
140// new BurnTransition(glucose), // similar to multiply - dh
141// new ScreenTransition(glucose), // same as add -dh
142// new SoftLightTransition(glucose), // same as overlay -dh
49815cc0
MS
143 };
144}
145
75e1ddde 146// Handles to globally triggerable effects
24fc0330
MS
147class Effects {
148 FlashEffect flash = new FlashEffect(lx);
149 BoomEffect boom = new BoomEffect(glucose);
150 BlurEffect blur = new BlurEffect(glucose);
151 QuantizeEffect quantize = new QuantizeEffect(glucose);
152 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
153
154 Effects() {
155 blur.enable();
156 quantize.enable();
157 colorFucker.enable();
158 }
49815cc0 159}
24fc0330 160