Report abuse

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import ddf.minim.signals.*;
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;

import rwmidi.*;

import oscP5.*;
import netP5.*;

import microkontrol.controls.*;
import microkontrol.*;


MicroKontrol mk;
NetAddress animata;
OscP5 oscP5;
Minim minim;
AudioInput in;
String talking = "man";
void setup(){
  oscP5 = new OscP5(this,12000);
  mk = new MicroKontrol(this);
  animata = new NetAddress("192.168.100.198",7110);

  mk.pads[12].listen("pressed",this, "activateMan");
  mk.pads[13].listen("pressed",this, "activateWoman");

  mk.pads[14].listen(new Axe());

  minim = new Minim(this);
  in = minim.getLineIn(Minim.STEREO, 512);
}
void draw(){
  float joyY =  mk.joystick.getY();
  float joyX = mk.joystick.getX();
  if( joyY != 0 ) zoomCamera(int(joyY * 10.0)); 
  if(joyX != 0) panLayer(joyX * 10);
  background(0);

  float level = constrain(in.left.level(), 0,1) * 5;
  rect(0, 0, width, height*level);
  setBone(talking, level);
  setBone("frown", mk.faders[0].getProportion());

}
void activateMan(){
  println("man talking");
  mk.pads[12].set(true);
  mk.pads[13].set(false);
  talking = "man";
}
void activateWoman(){
  println("woman talking");
  mk.pads[12].set(false);
  mk.pads[13].set(true);
  talking = "woman";
}
public class Axe implements ButtonListener{
   void pressed(){
     setBone("waveaxe", 1);
   }
   void released(){
     setBone("waveaxe", 0);
   }
   void updated(){
   }
}
void zoomCamera(Integer delta){
  OscMessage message = new OscMessage("/cameradeltazoom");
  message.add(float(delta));
  oscP5.send(message, animata); 
}
void panLayer(float deltaX){
   OscMessage message = new OscMessage("/cameradeltapan");
   message.add(deltaX);
   message.add(0.0);
   oscP5.send(message,animata);
}
void setBone(String name, float n) {  
  OscMessage message = new OscMessage("/anibone");
  message.add(name);
  message.add(n);
  oscP5.send(message, animata);
  //println("sent " + name + " = " + n);
}