Merge pull request #14 from vincentsiao/master
[SugarCubes.git] / SugarCubes.pde
1 /**
2 * +-+-+-+-+-+ +-+-+-+-+-+
3 * / /| |\ \
4 * / / + + \ \
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 */
25
26 LXPattern[] patterns(GLucose glucose) {
27 return new LXPattern[] {
28
29 new SineSphere(glucose),
30 //new CubeCurl(glucose),
31
32 // Slee
33 // new Cathedrals(glucose),
34 new Swarm(glucose),
35 new MidiMusic(glucose),
36 new Pulley(glucose),
37
38 new ViolinWave(glucose),
39 new BouncyBalls(glucose),
40 new SpaceTime(glucose),
41 new ShiftingPlane(glucose),
42 new AskewPlanes(glucose),
43 new Blinders(glucose),
44 new CrossSections(glucose),
45 new Psychedelia(glucose),
46
47 new Traktor(glucose).setEligible(false),
48 new BassPod(glucose).setEligible(false),
49 new CubeEQ(glucose).setEligible(false),
50 new PianoKeyPattern(glucose).setEligible(false),
51
52 // DanH
53 new Noise(glucose),
54 new Play (glucose),
55 new Pong (glucose),
56 new Worms(glucose),
57
58 // Alex G
59
60 // Tim
61 new TimPlanes(glucose),
62 new TimPinwheels(glucose),
63 new TimRaindrops(glucose),
64 new TimCubes(glucose),
65 // new TimTrace(glucose),
66 new TimSpheres(glucose),
67
68 // Jackie
69 new JackieSquares(glucose),
70 new JackieLines(glucose),
71 new JackieDots(glucose),
72
73
74
75 // Vincent
76 new VSTowers(glucose),
77
78 // Toby
79 new GlitchPlasma(glucose),
80 new FireEffect(glucose).setEligible(false),
81 new StripBounce(glucose),
82 new SoundRain(glucose).setEligible(false),
83 new SoundSpikes(glucose).setEligible(false),
84 new FaceSync(glucose),
85
86 // Jack
87 new Swim(glucose),
88 new Balance(glucose),
89
90
91 // Ben
92 // new Sandbox(glucose),
93 new TowerParams(glucose),
94 new DriveableCrossSections(glucose),
95 new GranimTestPattern2(glucose),
96
97 // Shaheen
98 //new HelixPattern(glucose).setEligible(false),
99
100 //JR
101 new Gimbal(glucose),
102
103 // Sam
104 new JazzRainbow(glucose),
105
106 // Arjun
107 new TelevisionStatic(glucose),
108 new AbstractPainting(glucose),
109 new Spirality(glucose),
110
111 // Basic test patterns for reference, not art
112 new TestCubePattern(glucose),
113 new TestTowerPattern(glucose),
114 new TestProjectionPattern(glucose),
115 new TestStripPattern(glucose),
116 new TestBassMapping(glucose),
117 new TestFloorMapping(glucose),
118 new TestSpeakerMapping(glucose),
119 // new TestHuePattern(glucose),
120 // new TestXPattern(glucose),
121 // new TestYPattern(glucose),
122 // new TestZPattern(glucose),
123
124 };
125 }
126
127 LXTransition[] transitions(GLucose glucose) {
128 return new LXTransition[] {
129 new DissolveTransition(lx),
130 new AddTransition(glucose),
131 new MultiplyTransition(glucose),
132 new OverlayTransition(glucose),
133 new DodgeTransition(glucose),
134 new SwipeTransition(glucose),
135 new FadeTransition(lx),
136 // new SubtractTransition(glucose), // similar to multiply - dh
137 // new BurnTransition(glucose), // similar to multiply - dh
138 // new ScreenTransition(glucose), // same as add -dh
139 // new SoftLightTransition(glucose), // same as overlay -dh
140 };
141 }
142
143 // Handles to globally triggerable effects
144 class Effects {
145 FlashEffect flash = new FlashEffect(lx);
146 BoomEffect boom = new BoomEffect(glucose);
147 BlurEffect blur = new BlurEffect(glucose);
148 QuantizeEffect quantize = new QuantizeEffect(glucose);
149 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
150
151 Effects() {
152 blur.enable();
153 quantize.enable();
154 colorFucker.enable();
155 }
156 }
157