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