New LX fixes FlashEffect bug
[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 HeronLX library, or files prefixed with
19 * an underscore. If you're an artist, you shouldn't need to worry about 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 LXPattern[] patterns(LX lx) {
26 return new LXPattern[] {
27
28 //new SineSphere(lx),
29 //new CubeCurl(lx),
30
31 // Slee
32 // new Cathedrals(lx),
33 new Swarm(lx),
34 new MidiMusic(lx),
35 new Pulley(lx),
36
37 new ViolinWave(lx),
38 new BouncyBalls(lx),
39 new SpaceTime(lx),
40 new ShiftingPlane(lx),
41 new AskewPlanes(lx),
42 new Blinders(lx),
43 new CrossSections(lx),
44 new Psychedelia(lx),
45
46 new MultipleCubes(lx),
47
48 new Traktor(lx).setEligible(false),
49 new BassPod(lx).setEligible(false),
50 new CubeEQ(lx).setEligible(false),
51 new PianoKeyPattern(lx).setEligible(false),
52
53 // AntonK
54 new AKPong(lx),
55
56 // DanH
57 new Noise(lx),
58 new Play (lx),
59 new Pong (lx),
60 new Worms(lx),
61
62 // JR
63 new Gimbal(lx),
64
65 // Alex G
66
67 // Tim
68 new TimMetronome(lx),
69 new TimPlanes(lx),
70 new TimPinwheels(lx),
71 new TimRaindrops(lx),
72 new TimCubes(lx),
73 // new TimTrace(lx),
74 new TimSpheres(lx),
75
76 // Jackie
77 new JackieSquares(lx),
78 new JackieLines(lx),
79 new JackieDots(lx),
80
81 // L8on
82 new L8onAutomata(lx),
83 new L8onLife(lx),
84 new L8onStripLife(lx),
85
86 // Vincent
87 new VSTowers(lx),
88
89 // Toby
90 new GlitchPlasma(lx),
91 new FireEffect(lx).setEligible(false),
92 new StripBounce(lx),
93 new SoundRain(lx).setEligible(false),
94 new SoundSpikes(lx).setEligible(false),
95 new FaceSync(lx),
96
97 // Jack
98 new Swim(lx),
99 new Balance(lx),
100
101 // Ben
102 // new Sandbox(lx),
103 new TowerParams(lx),
104 new DriveableCrossSections(lx),
105 new GranimTestPattern2(lx),
106
107 // Shaheen
108 // new HelixPattern(lx).setEligible(false),
109
110 // Sam
111 new JazzRainbow(lx),
112
113 // Arjun
114 new TelevisionStatic(lx),
115 new AbstractPainting(lx),
116 new Spirality(lx),
117
118 // Micah
119 new Rings(lx),
120
121 // Open pixel control server
122 new OpenPixelControl(lx, this),
123
124 // Basic test patterns for reference, not art
125 new TestCubePattern(lx),
126 new TestTowerPattern(lx),
127 new TestProjectionPattern(lx),
128 new TestStripPattern(lx),
129 // new TestHuePattern(lx),
130 // new TestXPattern(lx),
131 // new TestYPattern(lx),
132 // new TestZPattern(lx),
133
134 };
135 }
136
137 LXTransition[] transitions(LX lx) {
138 return new LXTransition[] {
139 new DissolveTransition(lx),
140 new AddTransition(lx),
141 new MultiplyTransition(lx),
142 new OverlayTransition(lx),
143 new DodgeTransition(lx),
144 new SwipeTransition(lx),
145 new FadeTransition(lx),
146 };
147 }
148
149 // Handles to globally triggerable effects
150 class Effects {
151 FlashEffect flash = new FlashEffect(lx);
152 BoomEffect boom = new BoomEffect(lx);
153 BlurEffect blur = new BlurEffect(lx);
154 QuantizeEffect quantize = new QuantizeEffect(lx);
155 ColorFuckerEffect colorFucker = new ColorFuckerEffect(lx);
156
157 Effects() {
158 blur.enable();
159 quantize.enable();
160 colorFucker.enable();
161 }
162 }
163