diff options
Diffstat (limited to '04_playobjects/src/testApp.h')
| -rw-r--r-- | 04_playobjects/src/testApp.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/04_playobjects/src/testApp.h b/04_playobjects/src/testApp.h index 223bc9d..0de2207 100644 --- a/04_playobjects/src/testApp.h +++ b/04_playobjects/src/testApp.h @@ -35,12 +35,15 @@ class syncOniPlayer{ //players[players.size()-1]->start(); //players[players.size()-1]->startPlayer(name); } - void play(){ + void play(ofxOpenNIUser user){ for (int i=0;i<players.size();i++) { players[i]=new ofxOpenNI(); //players[i]->setSafeThreading(true); players[i]->setupFromONI(filenames[i],true); + players[i]->addUserGenerator(); + players[i]->setRegister(true); players[i]->setLooped(false); + players[i]->setBaseUserClass(user); players[i]->start(); //players[players.size()-1]->setSpeed(1.0f); if (audio!="") { @@ -69,9 +72,19 @@ class syncOniPlayer{ } void drawCloud(){ for (int i=0;i<players.size();i++) { - ofTranslate(0, i * 400); - players[i]->drawDepth(50, 0,520,390); - players[i]->drawImage(600, 0,520,390); + ofPushMatrix(); + ofEnableBlendMode(OF_BLENDMODE_ALPHA); + int numUsers = players[i]->getNumTrackedUsers(); + for (int nID = 0; nID < numUsers; nID++){ + ofxOpenNIUser & user = players[i]->getTrackedUser(nID); + user.drawMask(); + ofPushMatrix(); + ofTranslate(ofGetWidth()/2, ofGetHeight()/2, -1000); + user.drawPointCloud(); + ofPopMatrix(); + } + ofDisableBlendMode(); + ofPopMatrix(); } } void stop(){ @@ -117,6 +130,7 @@ public: int numDevices; ofxOpenNI openNIPlayers[MAX_DEVICES]; + ofxOpenNIUser user; int playing; @@ -130,6 +144,7 @@ public: ofxOscReceiver receiver; + bool drawmovies,drawcloud; int offset; }; |
