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