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