Always send the composited colors, A/B on crossfader is just for preview
[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
e28f168c 29
d1dcc4b5 30 // Slee
7e3329d2 31 new Swarm(glucose),
4760e696 32 new ViolinWave(glucose),
d1dcc4b5 33 new BouncyBalls(glucose),
87f6fa39 34 new SpaceTime(glucose),
1627a617
MS
35 new ShiftingPlane(glucose),
36 new AskewPlanes(glucose),
87f6fa39
MS
37 new Blinders(glucose),
38 new CrossSections(glucose),
39 new Psychedelia(glucose),
4c006f7b
MS
40
41 new Traktor(glucose).setEligible(false),
42 new BassPod(glucose).setEligible(false),
254fbb68
MS
43 new CubeEQ(glucose).setEligible(false),
44 new PianoKeyPattern(glucose).setEligible(false),
4c006f7b 45
d1dcc4b5 46 // DanH
4c006f7b 47 new Noise(glucose),
7e3329d2 48 new Play (glucose),
49 new Pong (glucose),
50 new Worms(glucose),
4c006f7b 51
0b1785e3
AG
52 // Alex G
53 new SineSphere(glucose),
54
4c006f7b
MS
55 // Shaheen
56 new HelixPattern(glucose).setEligible(false),
57
58 // Toby
a673599f 59 new GlitchPlasma(glucose),
254fbb68 60 new FireEffect(glucose).setEligible(false),
b4aaf4e4 61 new StripBounce(glucose),
254fbb68
MS
62 new SoundRain(glucose).setEligible(false),
63 new SoundSpikes(glucose).setEligible(false),
821ceae9 64 new FaceSync(glucose),
b6641090
MS
65
66 // Jack
67 new Swim(glucose),
8185ec8f 68 new Balance(glucose),
b6641090 69
8185ec8f 70 // Tim
b6641090
MS
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
51227786 79 // new Sandbox(glucose),
467c8c60 80 new TowerParams(glucose),
b6641090
MS
81 new DriveableCrossSections(glucose),
82 new GranimTestPattern2(glucose),
51227786
MS
83
84 //JR
a7c8d80a 85 new Gimbal(glucose),
51227786 86
b6641090
MS
87 // Sam
88 new JazzRainbow(glucose),
80785186 89
0208d845
AB
90 // Arjun
91 new TelevisionStatic(glucose),
92 new AbstractPainting(glucose),
93 new Spirality(glucose),
a7c8d80a 94
254d34c0 95 // Basic test patterns for reference, not art
bfff6bc2 96 new TestCubePattern(glucose),
186bc4d3 97 new TestTowerPattern(glucose),
0ba6ac44 98 new TestProjectionPattern(glucose),
254fbb68 99 new TestStripPattern(glucose),
1d75c8a9
MS
100 new TestBassMapping(glucose),
101 new TestFloorMapping(glucose),
102 new TestSpeakerMapping(glucose),
186bc4d3
MS
103 // new TestHuePattern(glucose),
104 // new TestXPattern(glucose),
105 // new TestYPattern(glucose),
106 // new TestZPattern(glucose),
f3f5a876 107
49815cc0
MS
108 };
109}
110
111LXTransition[] transitions(GLucose glucose) {
112 return new LXTransition[] {
3f8be614 113 new DissolveTransition(lx),
32986078 114 new AddTransition(glucose),
fe30b226 115 new MultiplyTransition(glucose),
fe30b226 116 new OverlayTransition(glucose),
32986078 117 new DodgeTransition(glucose),
49815cc0 118 new SwipeTransition(glucose),
3f8be614 119 new FadeTransition(lx),
32986078 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
49815cc0
MS
124 };
125}
126
75e1ddde 127// Handles to globally triggerable effects
3661fcee 128BoomEffect EFF_boom;
129FlashEffect EFF_flash;
75e1ddde 130
49815cc0
MS
131LXEffect[] effects(GLucose glucose) {
132 return new LXEffect[] {
3661fcee 133 EFF_flash = new FlashEffect(lx),
134 EFF_boom = new BoomEffect(glucose),
348fed66 135 new BlurEffect(glucose),
fe30b226 136 new DesaturationEffect(lx),
d626bc9b 137 new ColorFuckerEffect(glucose),
49815cc0
MS
138 };
139}