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