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