added JGraphT to code folder, seems to be working but it's possible I screwed somethi...
[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 26LXPattern[] patterns(GLucose glucose) {
4861d6c4 27 return new LXPattern[] {
2815b690 28
f7f0bfe5
LW
29 new SineSphere(glucose),
30 //new CubeCurl(glucose),
ab65d40b 31 // DanH
32 new Noise(glucose),
33 new Play (glucose),
34 new Pong (glucose),
35 new Worms(glucose),
36
d1dcc4b5 37 // Slee
fa1767c1
AG
38 // new Cathedrals(glucose),
39 new Swarm(glucose),
d93c968f 40 new MidiMusic(glucose),
0137237d 41 new Pulley(glucose),
fa1767c1 42
4760e696 43 new ViolinWave(glucose),
d1dcc4b5 44 new BouncyBalls(glucose),
87f6fa39 45 new SpaceTime(glucose),
1627a617
MS
46 new ShiftingPlane(glucose),
47 new AskewPlanes(glucose),
87f6fa39
MS
48 new Blinders(glucose),
49 new CrossSections(glucose),
50 new Psychedelia(glucose),
ab65d40b 51 new TimRaindrops(glucose),
52 new TimCubes(glucose),
6a4882dd 53 new MultipleCubes(glucose),
4c006f7b
MS
54
55 new Traktor(glucose).setEligible(false),
56 new BassPod(glucose).setEligible(false),
254fbb68
MS
57 new CubeEQ(glucose).setEligible(false),
58 new PianoKeyPattern(glucose).setEligible(false),
ab65d40b 59
60 new StripBounce(glucose),
4c006f7b 61
69f25521 62 // AntonK
ab65d40b 63 //new AKPong(glucose),
64 new Swim(glucose),
65 new Balance(glucose),
66
4c006f7b 67
ab65d40b 68
69
58888c69
JR
70 // JR
71 new Gimbal(glucose),
72
0b1785e3 73 // Alex G
1d414e45 74
fa1767c1 75 // Tim
9f73bc0e 76 new TimMetronome(glucose),
fa1767c1
AG
77 new TimPlanes(glucose),
78 new TimPinwheels(glucose),
ab65d40b 79
fa1767c1
AG
80 // new TimTrace(glucose),
81 new TimSpheres(glucose),
82
37ab5878 83 // Jackie
84 new JackieSquares(glucose),
4a60ba58 85 new JackieLines(glucose),
86 new JackieDots(glucose),
87
4861d6c4 88 // L8on
2815b690 89 new L8onAutomata(glucose),
ea4abd09
LW
90 new L8onLife(glucose),
91 new L8onStripLife(glucose),
2815b690 92
20e7c94f
VS
93 // Vincent
94 new VSTowers(glucose),
4c006f7b
MS
95
96 // Toby
a673599f 97 new GlitchPlasma(glucose),
254fbb68 98 new FireEffect(glucose).setEligible(false),
ab65d40b 99
254fbb68
MS
100 new SoundRain(glucose).setEligible(false),
101 new SoundSpikes(glucose).setEligible(false),
821ceae9 102 new FaceSync(glucose),
b6641090
MS
103
104 // Jack
fa1767c1 105
b6641090 106 // Ben
51227786 107 // new Sandbox(glucose),
467c8c60 108 new TowerParams(glucose),
b6641090
MS
109 new DriveableCrossSections(glucose),
110 new GranimTestPattern2(glucose),
51227786 111
fa1767c1
AG
112 // Shaheen
113 //new HelixPattern(glucose).setEligible(false),
114
b6641090
MS
115 // Sam
116 new JazzRainbow(glucose),
80785186 117
0208d845
AB
118 // Arjun
119 new TelevisionStatic(glucose),
120 new AbstractPainting(glucose),
121 new Spirality(glucose),
a7c8d80a 122
254d34c0 123 // Basic test patterns for reference, not art
bfff6bc2 124 new TestCubePattern(glucose),
186bc4d3 125 new TestTowerPattern(glucose),
0ba6ac44 126 new TestProjectionPattern(glucose),
254fbb68 127 new TestStripPattern(glucose),
1d75c8a9
MS
128 new TestBassMapping(glucose),
129 new TestFloorMapping(glucose),
130 new TestSpeakerMapping(glucose),
186bc4d3
MS
131 // new TestHuePattern(glucose),
132 // new TestXPattern(glucose),
133 // new TestYPattern(glucose),
134 // new TestZPattern(glucose),
f3f5a876 135
49815cc0
MS
136 };
137}
138
139LXTransition[] transitions(GLucose glucose) {
140 return new LXTransition[] {
3f8be614 141 new DissolveTransition(lx),
32986078 142 new AddTransition(glucose),
fe30b226 143 new MultiplyTransition(glucose),
fe30b226 144 new OverlayTransition(glucose),
32986078 145 new DodgeTransition(glucose),
49815cc0 146 new SwipeTransition(glucose),
3f8be614 147 new FadeTransition(lx),
32986078 148// new SubtractTransition(glucose), // similar to multiply - dh
149// new BurnTransition(glucose), // similar to multiply - dh
150// new ScreenTransition(glucose), // same as add -dh
151// new SoftLightTransition(glucose), // same as overlay -dh
49815cc0
MS
152 };
153}
154
75e1ddde 155// Handles to globally triggerable effects
24fc0330
MS
156class Effects {
157 FlashEffect flash = new FlashEffect(lx);
158 BoomEffect boom = new BoomEffect(glucose);
159 BlurEffect blur = new BlurEffect(glucose);
160 QuantizeEffect quantize = new QuantizeEffect(glucose);
161 ColorFuckerEffect colorFucker = new ColorFuckerEffect(glucose);
162
163 Effects() {
164 blur.enable();
165 quantize.enable();
166 colorFucker.enable();
167 }
49815cc0 168}
24fc0330 169