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