rebecca@13
|
1 #ifndef _TEST_APP
|
rebecca@13
|
2 #define _TEST_APP
|
rebecca@13
|
3
|
rebecca@13
|
4 // uncomment this for OF 007 compatibility
|
rebecca@13
|
5 //#define OFX_OPENNI_BETA
|
rebecca@13
|
6
|
rebecca@13
|
7 #include "ofMain.h"
|
rebecca@13
|
8 #include "ofxOpenNI.h"
|
andrew@31
|
9 #include "ofxOsc.h"
|
andrew@49
|
10 #define NUMBER_OF_USERS 3
|
andrew@48
|
11
|
andrew@38
|
12 #define STOPPORT 12343
|
andrew@45
|
13 #define STOPHOST "localhost"
|
andrew@45
|
14
|
andrew@45
|
15 #define HERESY_PORT 12346
|
andrew@49
|
16 #define HERESY_HOST "localhost"//JOE's address??
|
andrew@49
|
17
|
andrew@49
|
18 #define MOPHO_PORT 12342
|
andrew@48
|
19
|
andrew@48
|
20 //#define HOST "169.254.51.147"//Was Tim's ADDRESS - not used any more - use Joe's heresy_host below
|
andrew@48
|
21 //#define PORT 12344
|
rebecca@13
|
22
|
rebecca@13
|
23 class testApp : public ofBaseApp{
|
rebecca@13
|
24
|
rebecca@13
|
25 public:
|
rebecca@13
|
26 void setup();
|
rebecca@13
|
27 void update();
|
rebecca@13
|
28 void draw();
|
rebecca@13
|
29
|
andrew@31
|
30 void getCoordinates(int userID);
|
andrew@31
|
31 void sendDataViaOSC(int userID);
|
andrew@32
|
32
|
rebecca@13
|
33 void keyPressed (int key);
|
rebecca@13
|
34 void keyReleased(int key);
|
rebecca@13
|
35 void mouseMoved(int x, int y );
|
rebecca@13
|
36 void mouseDragged(int x, int y, int button);
|
rebecca@13
|
37 void mousePressed(int x, int y, int button);
|
rebecca@13
|
38 void mouseReleased(int x, int y, int button);
|
rebecca@13
|
39 void windowResized(int w, int h);
|
andrew@44
|
40 void bezierFunctionStuff(int i);
|
andrew@44
|
41 void drawAcidSmiley(int userID);
|
rebecca@13
|
42 ofxOpenNIContext context;
|
rebecca@13
|
43 ofxDepthGenerator depth;
|
rebecca@13
|
44 ofxUserGenerator user;
|
rebecca@13
|
45 ofxImageGenerator image;
|
rebecca@13
|
46 //ofImage Davy;
|
andrew@38
|
47 void sendStopMessageForUser(int userID);
|
andrew@45
|
48 void sendInformationToHeresy(int userID);
|
andrew@45
|
49 void sendNoteMessageToHeresy(int noteNumber, int onOrOff, int velocity, int channel);
|
andrew@31
|
50
|
andrew@31
|
51 ofImage anubis;
|
andrew@48
|
52 ofImage secondUserImage, thirdUserImage;
|
rebecca@13
|
53 bool drawIt;
|
andrew@38
|
54
|
andrew@38
|
55 float maxTorsoValues[3];
|
andrew@48
|
56 float leftMaximum[3];
|
andrew@48
|
57 float rightMaximum[3];
|
andrew@48
|
58
|
andrew@48
|
59 int ControlChangeData[NUMBER_OF_USERS][4];//userId, leftX, leftR, rightX, right Y
|
andrew@48
|
60 void sendControlChangeDataToMax(int userID);
|
andrew@49
|
61 void sendControlChangeDataToAbleton(int userID);
|
andrew@49
|
62
|
andrew@38
|
63 void checkTorsoMaxima(int id);
|
andrew@44
|
64 int typeOfFaceToUse[NUMBER_OF_USERS];
|
andrew@44
|
65 double lastRecordedTime[NUMBER_OF_USERS];//x,y,and z of the head
|
andrew@32
|
66 float torso[6][3];//x,y,and z of the head
|
andrew@31
|
67 bool userPresent[6];
|
andrew@45
|
68 bool notePlayingArray[NUMBER_OF_USERS][16];
|
andrew@45
|
69 int pitchPlaying[NUMBER_OF_USERS];
|
andrew@31
|
70
|
andrew@45
|
71 bool nowPlaying[NUMBER_OF_USERS][16];
|
andrew@45
|
72 bool lastPlaying[NUMBER_OF_USERS][16];
|
andrew@45
|
73
|
andrew@45
|
74 float rightHandPosition[NUMBER_OF_USERS][3];
|
andrew@45
|
75 float leftHandPosition[NUMBER_OF_USERS][3];
|
andrew@45
|
76 double minMaxValues[NUMBER_OF_USERS][2];
|
andrew@17
|
77 ofTrueTypeFont franklinBook;
|
andrew@17
|
78 string outputString;
|
andrew@49
|
79 ofxOscSender sender, stopSender, heresySender, mophoSender;
|
andrew@31
|
80
|
andrew@48
|
81 string userInfoString[3];
|
andrew@48
|
82
|
andrew@49
|
83 bool checkSameUserAs(int userID, int checkID);
|
andrew@49
|
84 bool checkingSameUser[NUMBER_OF_USERS];
|
andrew@49
|
85
|
rebecca@13
|
86 };
|
rebecca@13
|
87 #endif
|