timmetronome
[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 TimMetronome(glucose),
62 new TimPlanes(glucose),
63 new TimPinwheels(glucose),
64 new TimRaindrops(glucose),
65 new TimCubes(glucose),
66 // new TimTrace(glucose),
67 new TimSpheres(glucose),
68
69
70
71 // Jackie
72 new JackieSquares(glucose),
73 new JackieLines(glucose),
74 new JackieDots(glucose),
75
76
77
78 // Vincent
79 new VSTowers(glucose),
80
81 // Toby
82 new GlitchPlasma(glucose),
83 new FireEffect(glucose).setEligible(false),
84 new StripBounce(glucose),
85 new SoundRain(glucose).setEligible(false),
86 new SoundSpikes(glucose).setEligible(false),
87 new FaceSync(glucose),
88
89 // Jack
90 new Swim(glucose),
91 new Balance(glucose),
92
93
94 // Ben
95 // new Sandbox(glucose),
96 new TowerParams(glucose),
97 new DriveableCrossSections(glucose),
98 new GranimTestPattern2(glucose),
99
100 // Shaheen
101 //new HelixPattern(glucose).setEligible(false),
102
103 //JR
104 new Gimbal(glucose),
105
106 // Sam
107 new JazzRainbow(glucose),
108
109 // Arjun
110 new TelevisionStatic(glucose),
111 new AbstractPainting(glucose),
112 new Spirality(glucose),
113
114 // Basic test patterns for reference, not art
115 new TestCubePattern(glucose),
116 new TestTowerPattern(glucose),
117 new TestProjectionPattern(glucose),
118 new TestStripPattern(glucose),
119 new TestBassMapping(glucose),
120 new TestFloorMapping(glucose),
121 new TestSpeakerMapping(glucose),
122 // new TestHuePattern(glucose),
123 // new TestXPattern(glucose),
124 // new TestYPattern(glucose),
125 // new TestZPattern(glucose),
126
127 };
128 }
129
130 LXTransition[] transitions(GLucose glucose) {
131 return new LXTransition[] {
132 new DissolveTransition(lx),
133 new AddTransition(glucose),
134 new MultiplyTransition(glucose),
135 new OverlayTransition(glucose),
136 new DodgeTransition(glucose),
137 new SwipeTransition(glucose),
138 new FadeTransition(lx),
139 // new SubtractTransition(glucose), // similar to multiply - dh
140 // new BurnTransition(glucose), // similar to multiply - dh
141 // new ScreenTransition(glucose), // same as add -dh
142 // new SoftLightTransition(glucose), // same as overlay -dh
143 };
144 }
145
146 // Handles to globally triggerable effects
147 class Effects {
148 FlashEffect flash = new FlashEffect(lx);
149 BoomEffect boom = new BoomEffect(glucose);
150 BlurEffect blur = new BlurEffect(glucose);
151 QuantizeEffect quantize = new QuantizeEffect(glucose);
152 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
153
154 Effects() {
155 blur.enable();
156 quantize.enable();
157 colorFucker.enable();
158 }
159 }
160