Add mask transition to do MULTIPLY burn on crossfader
[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 // TODO(mcslee): get rid of this global, make engine support two decks
27 LXPattern gplay;
28
29 LXPattern[] patterns(GLucose glucose) {
30 return new LXPattern[] {
31
32 // Slee
33 new Swarm(glucose),
34 new SpaceTime(glucose),
35 new ShiftingPlane(glucose),
36 new AskewPlanes(glucose),
37 new Blinders(glucose),
38 new CrossSections(glucose),
39 new Psychedelia(glucose),
40
41 new Traktor(glucose).setEligible(false),
42 new BassPod(glucose).setEligible(false),
43 new CubeEQ(glucose).setEligible(false),
44 new PianoKeyPattern(glucose).setEligible(false),
45
46 // DanH
47 new Noise(glucose),
48 gplay = new Play(glucose), // XXX do this properly
49 new Pong(glucose),
50
51 // Alex G
52 new SineSphere(glucose),
53
54 // Shaheen
55 new HelixPattern(glucose).setEligible(false),
56
57 // Toby
58 new GlitchPlasma(glucose),
59 new FireEffect(glucose).setEligible(false),
60 new StripBounce(glucose),
61 new SoundRain(glucose).setEligible(false),
62 new SoundSpikes(glucose).setEligible(false),
63 new FaceSync(glucose),
64
65 // Jack
66 new Swim(glucose),
67 new Balance(glucose),
68
69 // Tim
70 new TimPlanes(glucose),
71 new TimPinwheels(glucose),
72 new TimRaindrops(glucose),
73 new TimCubes(glucose),
74 // new TimTrace(glucose),
75 new TimSpheres(glucose),
76
77 // Ben
78 // new Sandbox(glucose),
79 new TowerParams(glucose),
80 new DriveableCrossSections(glucose),
81 new GranimTestPattern2(glucose),
82
83 //JR
84 new Gimbal(glucose),
85
86 // Sam
87 new JazzRainbow(glucose),
88
89 // Arjun
90 new TelevisionStatic(glucose),
91 new AbstractPainting(glucose),
92 new Spirality(glucose),
93
94 // Basic test patterns for reference, not art
95 new TestCubePattern(glucose),
96 new TestTowerPattern(glucose),
97 new TestProjectionPattern(glucose),
98 new TestStripPattern(glucose),
99 new TestBassMapping(glucose),
100 new TestFloorMapping(glucose),
101 new TestSpeakerMapping(glucose),
102 // new TestHuePattern(glucose),
103 // new TestXPattern(glucose),
104 // new TestYPattern(glucose),
105 // new TestZPattern(glucose),
106
107 };
108 }
109
110 LXTransition[] transitions(GLucose glucose) {
111 return new LXTransition[] {
112 new DissolveTransition(lx),
113 new MaskTransition(glucose),
114 new SwipeTransition(glucose),
115 new FadeTransition(lx),
116 };
117 }
118
119 LXEffect[] effects(GLucose glucose) {
120 return new LXEffect[] {
121 new FlashEffect(lx),
122 new BoomEffect(glucose),
123 new DualBlender(glucose),
124 // new DesaturationEffect(lx),
125 new ColorFuckerEffect(glucose),
126 };
127 }