Minor UI cleanups, make spacing and border colors consistent
[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 */
51227786
MS
25
26// TODO(mcslee): get rid of this global, make engine support two decks
e28f168c 27LXPattern gplay;
49815cc0
MS
28
29LXPattern[] patterns(GLucose glucose) {
30 return new LXPattern[] {
e28f168c 31
4c006f7b 32 // Slee
87f6fa39
MS
33 new Swarm(glucose),
34 new SpaceTime(glucose),
1627a617
MS
35 new ShiftingPlane(glucose),
36 new AskewPlanes(glucose),
87f6fa39
MS
37 new Blinders(glucose),
38 new CrossSections(glucose),
39 new Psychedelia(glucose),
4c006f7b
MS
40
41 new Traktor(glucose).setEligible(false),
42 new BassPod(glucose).setEligible(false),
254fbb68
MS
43 new CubeEQ(glucose).setEligible(false),
44 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 45
e28f168c 46 // DanH
4c006f7b 47 new Noise(glucose),
51227786 48 gplay = new Play(glucose), // XXX do this properly
e28f168c 49 new Pong(glucose),
4c006f7b 50
0b1785e3
AG
51 // Alex G
52 new SineSphere(glucose),
53
4c006f7b
MS
54 // Shaheen
55 new HelixPattern(glucose).setEligible(false),
56
57 // Toby
a673599f 58 new GlitchPlasma(glucose),
254fbb68 59 new FireEffect(glucose).setEligible(false),
b4aaf4e4 60 new StripBounce(glucose),
254fbb68
MS
61 new SoundRain(glucose).setEligible(false),
62 new SoundSpikes(glucose).setEligible(false),
821ceae9 63 new FaceSync(glucose),
b6641090
MS
64
65 // Jack
66 new Swim(glucose),
8185ec8f 67 new Balance(glucose),
b6641090 68
8185ec8f 69 // Tim
b6641090
MS
70 new TimPlanes(glucose),
71 new TimPinwheels(glucose),
72 new TimRaindrops(glucose),
73 new TimCubes(glucose),
74 // new TimTrace(glucose),
75 new TimSpheres(glucose),
76
77 // Ben
51227786 78 // new Sandbox(glucose),
467c8c60 79 new TowerParams(glucose),
b6641090
MS
80 new DriveableCrossSections(glucose),
81 new GranimTestPattern2(glucose),
51227786
MS
82
83 //JR
a7c8d80a 84 new Gimbal(glucose),
51227786 85
b6641090
MS
86 // Sam
87 new JazzRainbow(glucose),
80785186 88
0208d845
AB
89 // Arjun
90 new TelevisionStatic(glucose),
91 new AbstractPainting(glucose),
92 new Spirality(glucose),
a7c8d80a 93
254d34c0 94 // Basic test patterns for reference, not art
bfff6bc2 95 new TestCubePattern(glucose),
186bc4d3 96 new TestTowerPattern(glucose),
0ba6ac44 97 new TestProjectionPattern(glucose),
254fbb68 98 new TestStripPattern(glucose),
1d75c8a9
MS
99 new TestBassMapping(glucose),
100 new TestFloorMapping(glucose),
101 new TestSpeakerMapping(glucose),
186bc4d3
MS
102 // new TestHuePattern(glucose),
103 // new TestXPattern(glucose),
104 // new TestYPattern(glucose),
105 // new TestZPattern(glucose),
f3f5a876 106
49815cc0
MS
107 };
108}
109
110LXTransition[] transitions(GLucose glucose) {
111 return new LXTransition[] {
3f8be614 112 new DissolveTransition(lx),
ed149627 113 new MaskTransition(glucose),
49815cc0 114 new SwipeTransition(glucose),
3f8be614 115 new FadeTransition(lx),
49815cc0
MS
116 };
117}
118
119LXEffect[] effects(GLucose glucose) {
120 return new LXEffect[] {
121 new FlashEffect(lx),
3f8be614 122 new BoomEffect(glucose),
e28f168c 123 new DualBlender(glucose),
d626bc9b
MS
124 // new DesaturationEffect(lx),
125 new ColorFuckerEffect(glucose),
49815cc0
MS
126 };
127}