New LX fixes FlashEffect bug
[SugarCubes.git] / SugarCubes.pde
CommitLineData
49815cc0
MS
1/**
2 * +-+-+-+-+-+ +-+-+-+-+-+
3 * / /| |\ \
0e3c5542 4 * / / + + \ \
49815cc0
MS
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
b9b7b3d4
MS
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.
49815cc0
MS
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 */
dde75983 25LXPattern[] patterns(LX lx) {
4861d6c4 26 return new LXPattern[] {
2815b690 27
b5d6d7a0 28 //new SineSphere(lx),
dde75983 29 //new CubeCurl(lx),
1a92d73a 30
d1dcc4b5 31 // Slee
dde75983
MS
32 // new Cathedrals(lx),
33 new Swarm(lx),
34 new MidiMusic(lx),
35 new Pulley(lx),
fa1767c1 36
dde75983
MS
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),
6a4882dd 45
dde75983 46 new MultipleCubes(lx),
4c006f7b 47
dde75983
MS
48 new Traktor(lx).setEligible(false),
49 new BassPod(lx).setEligible(false),
50 new CubeEQ(lx).setEligible(false),
51 new PianoKeyPattern(lx).setEligible(false),
4c006f7b 52
b9b7b3d4 53 // AntonK
dde75983 54 new AKPong(lx),
69f25521 55
d1dcc4b5 56 // DanH
dde75983
MS
57 new Noise(lx),
58 new Play (lx),
59 new Pong (lx),
60 new Worms(lx),
4c006f7b 61
58888c69 62 // JR
dde75983 63 new Gimbal(lx),
58888c69 64
0b1785e3 65 // Alex G
1d414e45 66
b9b7b3d4 67 // Tim
dde75983
MS
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),
fa1767c1 75
37ab5878 76 // Jackie
dde75983
MS
77 new JackieSquares(lx),
78 new JackieLines(lx),
79 new JackieDots(lx),
4a60ba58 80
4861d6c4 81 // L8on
dde75983
MS
82 new L8onAutomata(lx),
83 new L8onLife(lx),
84 new L8onStripLife(lx),
2815b690 85
20e7c94f 86 // Vincent
dde75983 87 new VSTowers(lx),
4c006f7b
MS
88
89 // Toby
dde75983
MS
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),
b6641090
MS
96
97 // Jack
dde75983
MS
98 new Swim(lx),
99 new Balance(lx),
1c56d2f1 100
b6641090 101 // Ben
dde75983
MS
102 // new Sandbox(lx),
103 new TowerParams(lx),
104 new DriveableCrossSections(lx),
105 new GranimTestPattern2(lx),
51227786 106
fa1767c1 107 // Shaheen
dde75983 108 // new HelixPattern(lx).setEligible(false),
fa1767c1 109
b6641090 110 // Sam
dde75983 111 new JazzRainbow(lx),
80785186 112
0208d845 113 // Arjun
dde75983
MS
114 new TelevisionStatic(lx),
115 new AbstractPainting(lx),
116 new Spirality(lx),
a7c8d80a 117
918da6fe 118 // Micah
b85e32c7 119 new Rings(lx),
918da6fe 120
3ffd6241
MES
121 // Open pixel control server
122 new OpenPixelControl(lx, this),
123
254d34c0 124 // Basic test patterns for reference, not art
dde75983
MS
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),
f3f5a876 133
49815cc0
MS
134 };
135}
136
dde75983 137LXTransition[] transitions(LX lx) {
49815cc0 138 return new LXTransition[] {
3f8be614 139 new DissolveTransition(lx),
a22015f4
MS
140 new AddTransition(lx),
141 new MultiplyTransition(lx),
142 new OverlayTransition(lx),
143 new DodgeTransition(lx),
144 new SwipeTransition(lx),
3f8be614 145 new FadeTransition(lx),
49815cc0
MS
146 };
147}
148
75e1ddde 149// Handles to globally triggerable effects
24fc0330
MS
150class Effects {
151 FlashEffect flash = new FlashEffect(lx);
a22015f4
MS
152 BoomEffect boom = new BoomEffect(lx);
153 BlurEffect blur = new BlurEffect(lx);
154 QuantizeEffect quantize = new QuantizeEffect(lx);
155 ColorFuckerEffect colorFucker = new ColorFuckerEffect(lx);
24fc0330
MS
156
157 Effects() {
158 blur.enable();
159 quantize.enable();
160 colorFucker.enable();
161 }
49815cc0 162}
24fc0330 163