Add a MIDI-responding piano key pattern that lights up cubes based on notes
[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 new SpaceTime(glucose),
29 new Swarm(glucose),
30 new CubeEQ(glucose),
31 new PianoKeyPattern(glucose),
32
33 // Basic test patterns for reference, not art
34 // new TestHuePattern(glucose),
35 // new TestXPattern(glucose),
36 // new TestYPattern(glucose),
37 // new TestZPattern(glucose),
38 };
39 }
40
41 LXTransition[] transitions(GLucose glucose) {
42 return new LXTransition[] {
43 new DissolveTransition(lx),
44 new SwipeTransition(glucose),
45 new FadeTransition(lx),
46 };
47 }
48
49 LXEffect[] effects(GLucose glucose) {
50 return new LXEffect[] {
51 new FlashEffect(lx),
52 new BoomEffect(glucose),
53 new DesaturationEffect(lx),
54 };
55 }
56