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