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