-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoundOrbiter.pde
67 lines (49 loc) · 1.46 KB
/
soundOrbiter.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// soundOrbiter writted by Patricio Gonzalez Vivo
// Developing a Better Together
// http://www.patriciogonzalezvivo.com
//
import ddf.minim.*;
Minim minim;
AudioInput in;
soundStar[] stars = new soundStar[1];
int sel = 0;
void setup(){
size(800,600);
smooth();
frame.setTitle("soundOrbiter by Patricio Gonzalez Vivo");
minim = new Minim(this);
in = minim.getLineIn(Minim.STEREO, 2048);
stars[0] = new soundStar(in,"audio");
}
void draw(){
background(0,0,0);
//stars[0].display(mouseX,mouseY);
stars[0].display(width/2,height/2);
stars[sel].nextFrame();
}
void keyPressed(){
if ( key == '+' ) stars[sel].speed += 0.005;
if ( key == '-' ) stars[sel].speed -= 0.005;
if ( key == 'p' ) stars[sel].stop = !stars[sel].stop;
if ( key == 'r' ) stars[sel].repeat = !stars[sel].repeat;
if ( keyCode == UP ) stars[sel].selected--;
if ( keyCode == DOWN ) stars[sel].selected++;
if ( keyCode == LEFT ) stars[sel].moveFowardOrbit();
if ( keyCode == RIGHT ) stars[sel].moveBackwardOrbit();
if ( key == 's' ) stars[sel].deleteOrbit();
if ( keyCode == TAB) sel = (sel + 1)%stars.length;
stars[sel].selected = constrain(stars[sel].selected,0,stars[sel].orbits.length-1);
stars[sel].speed = constrain(stars[sel].speed,-0.4,0.4);
}
void mousePressed(){
stars[sel].startRecording();
}
void mouseReleased(){
stars[sel].endRecording();
}
void stop(){
in.close();
stars[0].starInput.close();
minim.stop();
super.stop();
}