Merge branch 'master' of github.com:sugarcubes/SugarCubes
[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
72
73 // Jackie
74 new JackieSquares(glucose),
75 new JackieLines(glucose),
76 new JackieDots(glucose),
77
78
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 // Ben
97 // new Sandbox(glucose),
98 new TowerParams(glucose),
99 new DriveableCrossSections(glucose),
100 new GranimTestPattern2(glucose),
101
102 // Shaheen
103 //new HelixPattern(glucose).setEligible(false),
104
105 //JR
106 new Gimbal(glucose),
107
108 // Sam
109 new JazzRainbow(glucose),
110
111 // Arjun
112 new TelevisionStatic(glucose),
113 new AbstractPainting(glucose),
114 new Spirality(glucose),
115
116 // Basic test patterns for reference, not art
117 new TestCubePattern(glucose),
118 new TestTowerPattern(glucose),
119 new TestProjectionPattern(glucose),
120 new TestStripPattern(glucose),
121 new TestBassMapping(glucose),
122 new TestFloorMapping(glucose),
123 new TestSpeakerMapping(glucose),
124 // new TestHuePattern(glucose),
125 // new TestXPattern(glucose),
126 // new TestYPattern(glucose),
127 // new TestZPattern(glucose),
128
129 };
130 }
131
132 LXTransition[] transitions(GLucose glucose) {
133 return new LXTransition[] {
134 new DissolveTransition(lx),
135 new AddTransition(glucose),
136 new MultiplyTransition(glucose),
137 new OverlayTransition(glucose),
138 new DodgeTransition(glucose),
139 new SwipeTransition(glucose),
140 new FadeTransition(lx),
141 // new SubtractTransition(glucose), // similar to multiply - dh
142 // new BurnTransition(glucose), // similar to multiply - dh
143 // new ScreenTransition(glucose), // same as add -dh
144 // new SoftLightTransition(glucose), // same as overlay -dh
145 };
146 }
147
148 // Handles to globally triggerable effects
149 class Effects {
150 FlashEffect flash = new FlashEffect(lx);
151 BoomEffect boom = new BoomEffect(glucose);
152 BlurEffect blur = new BlurEffect(glucose);
153 QuantizeEffect quantize = new QuantizeEffect(glucose);
154 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
155
156 Effects() {
157 blur.enable();
158 quantize.enable();
159 colorFucker.enable();
160 }
161 }
162