merged slee's lx changes
[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 MidiMusic(glucose),
35 new Pulley(glucose),
36 new Swarm(glucose),
37 new ViolinWave(glucose),
38 new BouncyBalls(glucose),
39 new SpaceTime(glucose),
40 new ShiftingPlane(glucose),
41 new AskewPlanes(glucose),
42 new Blinders(glucose),
43 new CrossSections(glucose),
44 new Psychedelia(glucose),
45
46 new Traktor(glucose).setEligible(false),
47 new BassPod(glucose).setEligible(false),
48 new CubeEQ(glucose).setEligible(false),
49 new PianoKeyPattern(glucose).setEligible(false),
50
51 // DanH
52 new Noise(glucose),
53 new Play (glucose),
54 new Pong (glucose),
55 new Worms(glucose),
56
57 // Alex G
58
59
60 // Shaheen
61 new HelixPattern(glucose).setEligible(false),
62
63 // Toby
64 new GlitchPlasma(glucose),
65 new FireEffect(glucose).setEligible(false),
66 new StripBounce(glucose),
67 new SoundRain(glucose).setEligible(false),
68 new SoundSpikes(glucose).setEligible(false),
69 new FaceSync(glucose),
70
71 // Jack
72 new Swim(glucose),
73 new Balance(glucose),
74
75 // Tim
76 new TimPlanes(glucose),
77 new TimPinwheels(glucose),
78 new TimRaindrops(glucose),
79 new TimCubes(glucose),
80 // new TimTrace(glucose),
81 new TimSpheres(glucose),
82
83 // Ben
84 // new Sandbox(glucose),
85 new TowerParams(glucose),
86 new DriveableCrossSections(glucose),
87 new GranimTestPattern2(glucose),
88
89 //JR
90 new Gimbal(glucose),
91
92 // Sam
93 new JazzRainbow(glucose),
94
95 // Arjun
96 new TelevisionStatic(glucose),
97 new AbstractPainting(glucose),
98 new Spirality(glucose),
99
100 // Basic test patterns for reference, not art
101 new TestCubePattern(glucose),
102 new TestTowerPattern(glucose),
103 new TestProjectionPattern(glucose),
104 new TestStripPattern(glucose),
105 new TestBassMapping(glucose),
106 new TestFloorMapping(glucose),
107 new TestSpeakerMapping(glucose),
108 // new TestHuePattern(glucose),
109 // new TestXPattern(glucose),
110 // new TestYPattern(glucose),
111 // new TestZPattern(glucose),
112
113 };
114 }
115
116 LXTransition[] transitions(GLucose glucose) {
117 return new LXTransition[] {
118 new DissolveTransition(lx),
119 new AddTransition(glucose),
120 new MultiplyTransition(glucose),
121 new OverlayTransition(glucose),
122 new DodgeTransition(glucose),
123 new SwipeTransition(glucose),
124 new FadeTransition(lx),
125 // new SubtractTransition(glucose), // similar to multiply - dh
126 // new BurnTransition(glucose), // similar to multiply - dh
127 // new ScreenTransition(glucose), // same as add -dh
128 // new SoftLightTransition(glucose), // same as overlay -dh
129 };
130 }
131
132 // Handles to globally triggerable effects
133 class Effects {
134 FlashEffect flash = new FlashEffect(lx);
135 BoomEffect boom = new BoomEffect(glucose);
136 BlurEffect blur = new BlurEffect(glucose);
137 QuantizeEffect quantize = new QuantizeEffect(glucose);
138 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
139
140 Effects() {
141 blur.enable();
142 quantize.enable();
143 colorFucker.enable();
144 }
145 }
146