Merge branch 'master' of https://github.com/sugarcubes/SugarCubes into alexgreen
[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
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 */
75e1ddde 25
49815cc0
MS
26LXPattern[] patterns(GLucose glucose) {
27 return new LXPattern[] {
7e3329d2 28
d1dcc4b5 29 // Slee
616d4f9e 30 new Cathedrals(glucose),
d93c968f 31 new MidiMusic(glucose),
0137237d 32 new Pulley(glucose),
7e3329d2 33 new Swarm(glucose),
4760e696 34 new ViolinWave(glucose),
d1dcc4b5 35 new BouncyBalls(glucose),
87f6fa39 36 new SpaceTime(glucose),
1627a617
MS
37 new ShiftingPlane(glucose),
38 new AskewPlanes(glucose),
87f6fa39
MS
39 new Blinders(glucose),
40 new CrossSections(glucose),
41 new Psychedelia(glucose),
4c006f7b
MS
42
43 new Traktor(glucose).setEligible(false),
44 new BassPod(glucose).setEligible(false),
254fbb68
MS
45 new CubeEQ(glucose).setEligible(false),
46 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 47
d1dcc4b5 48 // DanH
4c006f7b 49 new Noise(glucose),
7e3329d2 50 new Play (glucose),
51 new Pong (glucose),
52 new Worms(glucose),
4c006f7b 53
0b1785e3 54 // Alex G
1d414e45 55
8cedfe61 56
4c006f7b
MS
57 // Shaheen
58 new HelixPattern(glucose).setEligible(false),
59
60 // Toby
a673599f 61 new GlitchPlasma(glucose),
254fbb68 62 new FireEffect(glucose).setEligible(false),
b4aaf4e4 63 new StripBounce(glucose),
254fbb68
MS
64 new SoundRain(glucose).setEligible(false),
65 new SoundSpikes(glucose).setEligible(false),
821ceae9 66 new FaceSync(glucose),
b6641090
MS
67
68 // Jack
69 new Swim(glucose),
8185ec8f 70 new Balance(glucose),
b6641090 71
8185ec8f 72 // Tim
b6641090
MS
73 new TimPlanes(glucose),
74 new TimPinwheels(glucose),
75 new TimRaindrops(glucose),
76 new TimCubes(glucose),
77 // new TimTrace(glucose),
78 new TimSpheres(glucose),
79
80 // Ben
51227786 81 // new Sandbox(glucose),
467c8c60 82 new TowerParams(glucose),
b6641090
MS
83 new DriveableCrossSections(glucose),
84 new GranimTestPattern2(glucose),
51227786
MS
85
86 //JR
a7c8d80a 87 new Gimbal(glucose),
51227786 88
b6641090
MS
89 // Sam
90 new JazzRainbow(glucose),
80785186 91
0208d845
AB
92 // Arjun
93 new TelevisionStatic(glucose),
94 new AbstractPainting(glucose),
95 new Spirality(glucose),
a7c8d80a 96
254d34c0 97 // Basic test patterns for reference, not art
bfff6bc2 98 new TestCubePattern(glucose),
186bc4d3 99 new TestTowerPattern(glucose),
0ba6ac44 100 new TestProjectionPattern(glucose),
254fbb68 101 new TestStripPattern(glucose),
1d75c8a9
MS
102 new TestBassMapping(glucose),
103 new TestFloorMapping(glucose),
104 new TestSpeakerMapping(glucose),
186bc4d3
MS
105 // new TestHuePattern(glucose),
106 // new TestXPattern(glucose),
107 // new TestYPattern(glucose),
108 // new TestZPattern(glucose),
f3f5a876 109
49815cc0
MS
110 };
111}
112
113LXTransition[] transitions(GLucose glucose) {
114 return new LXTransition[] {
3f8be614 115 new DissolveTransition(lx),
32986078 116 new AddTransition(glucose),
fe30b226 117 new MultiplyTransition(glucose),
fe30b226 118 new OverlayTransition(glucose),
32986078 119 new DodgeTransition(glucose),
49815cc0 120 new SwipeTransition(glucose),
3f8be614 121 new FadeTransition(lx),
32986078 122// new SubtractTransition(glucose), // similar to multiply - dh
123// new BurnTransition(glucose), // similar to multiply - dh
124// new ScreenTransition(glucose), // same as add -dh
125// new SoftLightTransition(glucose), // same as overlay -dh
49815cc0
MS
126 };
127}
128
75e1ddde 129// Handles to globally triggerable effects
24fc0330
MS
130class Effects {
131 FlashEffect flash = new FlashEffect(lx);
132 BoomEffect boom = new BoomEffect(glucose);
133 BlurEffect blur = new BlurEffect(glucose);
134 QuantizeEffect quantize = new QuantizeEffect(glucose);
135 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
136
137 Effects() {
138 blur.enable();
139 quantize.enable();
140 colorFucker.enable();
141 }
49815cc0 142}
24fc0330 143