New ViolinWave pattern to play with for Paramount show
[SugarCubes.git] / SugarCubes.pde
1 /**
2 * +-+-+-+-+-+ +-+-+-+-+-+
3 * / /| |\ \
4 * / / + + \ \
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 */
25
26 LXPattern[] patterns(GLucose glucose) {
27 return new LXPattern[] {
28
29 // Slee
30 new ViolinWave(glucose),
31 new BouncyBalls(glucose),
32 new Swarm(glucose),
33 new SpaceTime(glucose),
34 new ShiftingPlane(glucose),
35 new AskewPlanes(glucose),
36 new Blinders(glucose),
37 new CrossSections(glucose),
38 new Psychedelia(glucose),
39
40 new Traktor(glucose).setEligible(false),
41 new BassPod(glucose).setEligible(false),
42 new CubeEQ(glucose).setEligible(false),
43 new PianoKeyPattern(glucose).setEligible(false),
44
45 // DanH
46 new Noise(glucose),
47 new Play(glucose),
48 new Pong(glucose),
49
50 // Alex G
51 new SineSphere(glucose),
52
53 // Shaheen
54 new HelixPattern(glucose).setEligible(false),
55
56 // Toby
57 new GlitchPlasma(glucose),
58 new FireEffect(glucose).setEligible(false),
59 new StripBounce(glucose),
60 new SoundRain(glucose).setEligible(false),
61 new SoundSpikes(glucose).setEligible(false),
62 new FaceSync(glucose),
63
64 // Jack
65 new Swim(glucose),
66 new Balance(glucose),
67
68 // Tim
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
77 // new Sandbox(glucose),
78 new TowerParams(glucose),
79 new DriveableCrossSections(glucose),
80 new GranimTestPattern2(glucose),
81
82 //JR
83 new Gimbal(glucose),
84
85 // Sam
86 new JazzRainbow(glucose),
87
88 // Arjun
89 new TelevisionStatic(glucose),
90 new AbstractPainting(glucose),
91 new Spirality(glucose),
92
93 // Basic test patterns for reference, not art
94 new TestCubePattern(glucose),
95 new TestTowerPattern(glucose),
96 new TestProjectionPattern(glucose),
97 new TestStripPattern(glucose),
98 new TestBassMapping(glucose),
99 new TestFloorMapping(glucose),
100 new TestSpeakerMapping(glucose),
101 // new TestHuePattern(glucose),
102 // new TestXPattern(glucose),
103 // new TestYPattern(glucose),
104 // new TestZPattern(glucose),
105
106 };
107 }
108
109 LXTransition[] transitions(GLucose glucose) {
110 return new LXTransition[] {
111 new DissolveTransition(lx),
112 new AddTransition(glucose),
113 new MultiplyTransition(glucose),
114 new OverlayTransition(glucose),
115 new DodgeTransition(glucose),
116 new SwipeTransition(glucose),
117 new FadeTransition(lx),
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
122 };
123 }
124
125 // Handles to globally triggerable effects
126 BoomEffect EFF_boom;
127 FlashEffect EFF_flash;
128
129 LXEffect[] effects(GLucose glucose) {
130 return new LXEffect[] {
131 EFF_flash = new FlashEffect(lx),
132 EFF_boom = new BoomEffect(glucose),
133 new BlurEffect(glucose),
134 new DesaturationEffect(lx),
135 new ColorFuckerEffect(glucose),
136 };
137 }