cubecenter, not quite right
[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[] {
7e3329d2 28
f1370a0b
AG
29 new SineSphere(glucose),
30 new CubeCurl(glucose),
31
d1dcc4b5 32 // Slee
7e3329d2 33 new Swarm(glucose),
4760e696 34 new ViolinWave(glucose),
d1dcc4b5 35 new BouncyBalls(glucose),
87f6fa39 36 new SpaceTime(glucose),
1627a617
MS
37 new ShiftingPlane(glucose),
38 new AskewPlanes(glucose),
87f6fa39
MS
39 new Blinders(glucose),
40 new CrossSections(glucose),
41 new Psychedelia(glucose),
4c006f7b
MS
42
43 new Traktor(glucose).setEligible(false),
44 new BassPod(glucose).setEligible(false),
254fbb68
MS
45 new CubeEQ(glucose).setEligible(false),
46 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 47
d1dcc4b5 48 // DanH
4c006f7b 49 new Noise(glucose),
7e3329d2 50 new Play (glucose),
51 new Pong (glucose),
52 new Worms(glucose),
4c006f7b 53
0b1785e3 54 // Alex G
f1370a0b 55
4c006f7b
MS
56 // Shaheen
57 new HelixPattern(glucose).setEligible(false),
58
59 // Toby
a673599f 60 new GlitchPlasma(glucose),
254fbb68 61 new FireEffect(glucose).setEligible(false),
b4aaf4e4 62 new StripBounce(glucose),
254fbb68
MS
63 new SoundRain(glucose).setEligible(false),
64 new SoundSpikes(glucose).setEligible(false),
821ceae9 65 new FaceSync(glucose),
b6641090
MS
66
67 // Jack
68 new Swim(glucose),
8185ec8f 69 new Balance(glucose),
b6641090 70
8185ec8f 71 // Tim
b6641090
MS
72 new TimPlanes(glucose),
73 new TimPinwheels(glucose),
74 new TimRaindrops(glucose),
75 new TimCubes(glucose),
76 // new TimTrace(glucose),
77 new TimSpheres(glucose),
78
79 // Ben
51227786 80 // new Sandbox(glucose),
467c8c60 81 new TowerParams(glucose),
b6641090
MS
82 new DriveableCrossSections(glucose),
83 new GranimTestPattern2(glucose),
51227786
MS
84
85 //JR
a7c8d80a 86 new Gimbal(glucose),
51227786 87
b6641090
MS
88 // Sam
89 new JazzRainbow(glucose),
80785186 90
0208d845
AB
91 // Arjun
92 new TelevisionStatic(glucose),
93 new AbstractPainting(glucose),
94 new Spirality(glucose),
a7c8d80a 95
254d34c0 96 // Basic test patterns for reference, not art
bfff6bc2 97 new TestCubePattern(glucose),
186bc4d3 98 new TestTowerPattern(glucose),
0ba6ac44 99 new TestProjectionPattern(glucose),
254fbb68 100 new TestStripPattern(glucose),
1d75c8a9
MS
101 new TestBassMapping(glucose),
102 new TestFloorMapping(glucose),
103 new TestSpeakerMapping(glucose),
186bc4d3
MS
104 // new TestHuePattern(glucose),
105 // new TestXPattern(glucose),
106 // new TestYPattern(glucose),
107 // new TestZPattern(glucose),
f3f5a876 108
49815cc0
MS
109 };
110}
111
112LXTransition[] transitions(GLucose glucose) {
113 return new LXTransition[] {
3f8be614 114 new DissolveTransition(lx),
32986078 115 new AddTransition(glucose),
fe30b226 116 new MultiplyTransition(glucose),
fe30b226 117 new OverlayTransition(glucose),
32986078 118 new DodgeTransition(glucose),
49815cc0 119 new SwipeTransition(glucose),
3f8be614 120 new FadeTransition(lx),
32986078 121// new SubtractTransition(glucose), // similar to multiply - dh
122// new BurnTransition(glucose), // similar to multiply - dh
123// new ScreenTransition(glucose), // same as add -dh
124// new SoftLightTransition(glucose), // same as overlay -dh
49815cc0
MS
125 };
126}
127
75e1ddde 128// Handles to globally triggerable effects
3661fcee 129BoomEffect EFF_boom;
130FlashEffect EFF_flash;
75e1ddde 131
49815cc0
MS
132LXEffect[] effects(GLucose glucose) {
133 return new LXEffect[] {
3661fcee 134 EFF_flash = new FlashEffect(lx),
135 EFF_boom = new BoomEffect(glucose),
348fed66 136 new BlurEffect(glucose),
fe30b226 137 new DesaturationEffect(lx),
d626bc9b 138 new ColorFuckerEffect(glucose),
49815cc0
MS
139 };
140}