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