cubecurl
[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 new CubeCurl(glucose),
55
56 // Shaheen
57 new HelixPattern(glucose).setEligible(false),
58
59 // Toby
60 new GlitchPlasma(glucose),
61 new FireEffect(glucose).setEligible(false),
62 new StripBounce(glucose),
63 new SoundRain(glucose).setEligible(false),
64 new SoundSpikes(glucose).setEligible(false),
65 new FaceSync(glucose),
66
67 // Jack
68 new Swim(glucose),
69 new Balance(glucose),
70
71 // Tim
72 new TimPlanes(glucose),
73 new TimPinwheels(glucose),
74 new TimRaindrops(glucose),
75 new TimCubes(glucose),
76 // new TimTrace(glucose),
77 new TimSpheres(glucose),
78
79 // Ben
80 // new Sandbox(glucose),
81 new TowerParams(glucose),
82 new DriveableCrossSections(glucose),
83 new GranimTestPattern2(glucose),
84
85 //JR
86 new Gimbal(glucose),
87
88 // Sam
89 new JazzRainbow(glucose),
90
91 // Arjun
92 new TelevisionStatic(glucose),
93 new AbstractPainting(glucose),
94 new Spirality(glucose),
95
96 // Basic test patterns for reference, not art
97 new TestCubePattern(glucose),
98 new TestTowerPattern(glucose),
99 new TestProjectionPattern(glucose),
100 new TestStripPattern(glucose),
101 new TestBassMapping(glucose),
102 new TestFloorMapping(glucose),
103 new TestSpeakerMapping(glucose),
104 // new TestHuePattern(glucose),
105 // new TestXPattern(glucose),
106 // new TestYPattern(glucose),
107 // new TestZPattern(glucose),
108
109 };
110 }
111
112 LXTransition[] transitions(GLucose glucose) {
113 return new LXTransition[] {
114 new DissolveTransition(lx),
115 new AddTransition(glucose),
116 new MultiplyTransition(glucose),
117 new OverlayTransition(glucose),
118 new DodgeTransition(glucose),
119 new SwipeTransition(glucose),
120 new FadeTransition(lx),
121 // new SubtractTransition(glucose), // similar to multiply - dh
122 // new BurnTransition(glucose), // similar to multiply - dh
123 // new ScreenTransition(glucose), // same as add -dh
124 // new SoftLightTransition(glucose), // same as overlay -dh
125 };
126 }
127
128 // Handles to globally triggerable effects
129 BoomEffect EFF_boom;
130 FlashEffect EFF_flash;
131
132 LXEffect[] effects(GLucose glucose) {
133 return new LXEffect[] {
134 EFF_flash = new FlashEffect(lx),
135 EFF_boom = new BoomEffect(glucose),
136 new BlurEffect(glucose),
137 new DesaturationEffect(lx),
138 new ColorFuckerEffect(glucose),
139 };
140 }