summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-06-18 22:34:30 +0100
committerComment <tim@gray.(none)>2013-06-18 22:34:30 +0100
commit04bc6345764e55ae249a622030f26496a0586541 (patch)
treecdfd45f49c3eba96ec1c566925a085698ca2238a
parentc42c63d30a31713ffc113d6a03795d4538bd5c84 (diff)
steaming pile of crap
-rw-r--r--03_play/src/testApp.cpp23
-rw-r--r--04_playobjects/bin/data/TRSS_nesbitt_recordings.xml91
-rw-r--r--04_playobjects/src/testApp.cpp30
-rw-r--r--04_playobjects/src/testApp.h75
4 files changed, 186 insertions, 33 deletions
diff --git a/03_play/src/testApp.cpp b/03_play/src/testApp.cpp
index c8dc261..1688ef3 100644
--- a/03_play/src/testApp.cpp
+++ b/03_play/src/testApp.cpp
@@ -8,7 +8,7 @@ void testApp::setup() {
verdana.loadFont(ofToDataPath("verdana.ttf"), 10);
playing=0;
- numDevices=2;
+ numDevices=1;
string filename="TRSS_nesbitt_recordings.xml";
@@ -48,27 +48,28 @@ void testApp::setup() {
void testApp::startPlayers(){
for (int deviceID = 0; deviceID < numDevices; deviceID++){
//openNIPlayers[deviceID].stop();
- //openNIPlayers[deviceID].setup(false);
- //openNIPlayers[deviceID].start();
+ openNIPlayers[deviceID].setup(true);
+ usleep(100000);
+ openNIPlayers[deviceID].start();
openNIPlayers[deviceID].startPlayer(ofToDataPath(recs[playing].data[deviceID]));
- openNIPlayers[deviceID].setSpeed(0.01f);
+ //openNIPlayers[deviceID].setSpeed(0.01f);
//openNIPlayers[deviceID].setPaused(true);
- soundplayer.stop();
+ //soundplayer.stop();
- if (recs[playing].audio!=""){
- soundplayer.loadSound(recs[playing].audio);
- soundplayer.play();
- soundplayer.setPosition(offset);
- }
+ //if (recs[playing].audio!=""){
+ // soundplayer.loadSound(recs[playing].audio);
+ // soundplayer.play();
+ // soundplayer.setPosition(offset);
+ //}
}
}
//--------------------------------------------------------------
void testApp::update(){
for (int deviceID = 0; deviceID < numDevices; deviceID++){
- openNIPlayers[deviceID].setFrame(frame);
+ //openNIPlayers[deviceID].setFrame(frame);
openNIPlayers[deviceID].update();
}
}
diff --git a/04_playobjects/bin/data/TRSS_nesbitt_recordings.xml b/04_playobjects/bin/data/TRSS_nesbitt_recordings.xml
new file mode 100644
index 0000000..550aae0
--- /dev/null
+++ b/04_playobjects/bin/data/TRSS_nesbitt_recordings.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<TRSS description="James Nesbitt">
+
+ <rec audio="audio/00.wav" left="recs/kinectRecord_0_15201313204.oni" right="recs/kinectRecord_1_15201313204.oni" description="2040 or 2004 BIG"/>
+ <rec audio="audio/01.wav" left="recs/kinectRecord_0_152013132358.oni" right="recs/kinectRecord_1_152013132358.oni"/>
+ <rec audio="audio/02.wav" left="recs/kinectRecord_0_15201313246.oni" right="recs/kinectRecord_1_15201313246.oni" description="2406"/>
+ <rec audio="audio/03.wav" left="recs/kinectRecord_0_152013132416.oni" right="recs/kinectRecord_1_152013132416.oni"/>
+
+
+ <rec audio="audio/04.wav" left="recs/kinectRecord_0_152013132447.oni" right="recs/kinectRecord_1_152013132447.oni"/>
+ <rec audio="audio/05.wav" left="recs/kinectRecord_0_15201313252.oni" right="recs/kinectRecord_1_15201313252.oni" description="2502 or 2052"/>
+ <rec audio="audio/06.wav" left="recs/kinectRecord_0_152013132455.oni" right="recs/kinectRecord_1_152013132455.oni"/>
+ <rec audio="audio/07.wav" left="recs/kinectRecord_0_15201313259.oni" right="recs/kinectRecord_1_15201313259.oni" description="2509 or 2059"/>
+
+ <rec audio="audio/08.wav" left="recs/kinectRecord_0_152013132524.oni" right="recs/kinectRecord_1_152013132524.oni"/>
+ <rec audio="audio/09.wav" left="recs/kinectRecord_0_152013132532.oni" right="recs/kinectRecord_1_152013132532.oni"/>
+ <rec audio="audio/10.wav" left="recs/kinectRecord_0_152013132542.oni" right="recs/kinectRecord_1_152013132542.oni"/>
+ <rec audio="audio/11.wav" left="recs/kinectRecord_0_152013132550.oni" right="recs/kinectRecord_1_152013132550.oni"/>
+
+ <rec audio="audio/101.wav" left="recs/kinectRecord_0_152013132915.oni" right="recs/kinectRecord_1_152013132915.oni"/>
+ <rec audio="audio/102.wav" left="recs/kinectRecord_0_152013132923.oni" right="recs/kinectRecord_1_152013132923.oni"/>
+ <rec audio="audio/103.wav" left="recs/kinectRecord_0_152013132931.oni" right="recs/kinectRecord_1_152013132931.oni"/>
+ <rec audio="audio/104.wav" left="recs/kinectRecord_0_152013132940.oni" right="recs/kinectRecord_1_152013132940.oni"/>
+ <rec audio="audio/105.wav" left="recs/kinectRecord_0_152013132947.oni" right="recs/kinectRecord_1_152013132947.oni"/>
+ <rec audio="audio/106.wav" left="recs/kinectRecord_0_152013132954.oni" right="recs/kinectRecord_1_152013132954.oni"/>
+
+ <rec audio="audio/107.wav" left="recs/kinectRecord_0_15201313304.oni" right="recs/kinectRecord_1_15201313304.oni" description="3004"/>
+ <rec audio="audio/108.wav" left="recs/kinectRecord_0_152013133011.oni" right="recs/kinectRecord_1_152013133011.oni"/>
+ <rec audio="audio/109.wav" left="recs/kinectRecord_0_152013133020.oni" right="recs/kinectRecord_1_152013133020.oni"/>
+ <rec audio="audio/110.wav" left="recs/kinectRecord_0_152013133029.oni" right="recs/kinectRecord_1_152013133029.oni"/>
+ <rec audio="audio/111.wav" left="recs/kinectRecord_0_152013133037.oni" right="recs/kinectRecord_1_152013133037.oni" description="BIG"/>
+
+ <rec audio="audio/201.wav" left="recs/kinectRecord_0_152013133137.oni" right="recs/kinectRecord_1_152013133137.oni" description="BIG"/>
+ <rec audio="audio/301.wav" left="recs/kinectRecord_0_152013133530.oni" right="recs/kinectRecord_1_152013133530.oni"/>
+ <rec audio="audio/302.wav" left="recs/kinectRecord_0_152013133539.oni" right="recs/kinectRecord_1_152013133539.oni"/>
+ <rec audio="audio/303.wav" left="recs/kinectRecord_0_152013133548.oni" right="recs/kinectRecord_1_152013133548.oni"/>
+
+ <rec audio="audio/304.wav" left="recs/kinectRecord_0_152013133618.oni" right="recs/kinectRecord_1_152013133618.oni"/>
+ <rec audio="audio/305.wav" left="recs/kinectRecord_0_152013133627.oni" right="recs/kinectRecord_1_152013133627.oni"/>
+ <rec audio="audio/306.wav" left="recs/kinectRecord_0_152013133634.oni" right="recs/kinectRecord_1_152013133634.oni"/>
+ <rec left="recs/kinectRecord_0_152013133641.oni" right="recs/kinectRecord_1_152013133641.oni"/>
+ <rec left="recs/kinectRecord_0_152013133648.oni" right="recs/kinectRecord_1_152013133648.oni"/>
+ <rec left="recs/kinectRecord_0_152013133656.oni" right="recs/kinectRecord_1_152013133656.oni"/>
+ <rec left="recs/kinectRecord_0_15201313377.oni" right="recs/kinectRecord_1_15201313377.oni" description="3707"/>
+ <rec left="recs/kinectRecord_0_152013133714.oni" right="recs/kinectRecord_1_152013133714.oni"/>
+ <rec left="recs/kinectRecord_0_152013133744.oni" right="recs/kinectRecord_1_152013133744.oni" description="BIG"/>
+ <rec left="recs/kinectRecord_0_152013133848.oni" right="recs/kinectRecord_1_152013133848.oni" description="BIG"/>
+ <rec left="recs/kinectRecord_0_152013134138.oni" right="recs/kinectRecord_1_152013134138.oni" description="BIG"/>
+</TRSS>
+<TRSS>
+ <rec left="recs/kinectRecord_0_15201313189.oni" right="recs/kinectRecord_1_15201313189.oni" description="1809 box shot 1"/>
+
+ <rec left="recs/kinectRecord_0_15201313326.oni" right="recs/kinectRecord_1_15201313326.oni" description="3206"/>
+
+ <rec audio="audio/04.wav" left="recs/kinectRecord_0_152013132426.oni" right="recs/kinectRecord_1_152013132426.oni"/>
+ <rec audio="audio/04.wav" left="recs/kinectRecord_0_152013132439.oni" right="recs/kinectRecord_1_152013132439.oni"/>
+
+ <rec audio="audio/08.wav" left="recs/kinectRecord_0_152013132517.oni" right="recs/kinectRecord_1_152013132517.oni"/>
+
+ <rec audio="audio/101.wav" left="recs/kinectRecord_0_15201313295.oni" right="recs/kinectRecord_1_15201313295.oni" description="2905"/>
+
+ <rec audio="audio/107.wav" left="recs/kinectRecord_0_15201313300.oni" right="recs/kinectRecord_1_15201313300.oni" description="3000"/>
+
+ <rec audio="audio/201.wav" left="recs/kinectRecord_0_152013133128.oni" right="recs/kinectRecord_1_152013133128.oni" />
+
+ <rec audio="audio/304.wav" left="recs/kinectRecord_0_152013133557.oni" right="recs/kinectRecord_1_152013133557.oni"/>
+ <rec audio="audio/304.wav" left="recs/kinectRecord_0_15201313364.oni" right="recs/kinectRecord_1_15201313364.oni" description="3604"/>
+
+ <rec left="recs/kinectRecord_0_152013105138.oni" right="recs/kinectRecord_1_152013105138.oni"/>
+ <rec left="recs/kinectRecord_0_152013105352.oni" right="recs/kinectRecord_1_152013105352.oni"/>
+ <rec left="recs/kinectRecord_0_15201312253.oni" right="recs/kinectRecord_1_15201312253.oni"/>
+ <rec left="recs/kinectRecord_0_152013131850.oni" right="recs/kinectRecord_1_152013131850.oni"/>
+
+ <rec left="recs/kinectRecord_0_3042013212620.oni" right="recs/kinectRecord_1_3042013212620.oni"/>
+ <rec left="recs/kinectRecord_0_3042013213029.oni" right="recs/kinectRecord_1_3042013213029.oni"/>
+ <rec left="recs/kinectRecord_0_304201321304.oni" right="recs/kinectRecord_1_304201321304.oni"/>
+ <rec left="recs/kinectRecord_0_3042013213141.oni" right="recs/kinectRecord_1_3042013213141.oni"/>
+ <rec left="recs/kinectRecord_0_304201321326.oni" right="recs/kinectRecord_1_304201321326.oni"/>
+ <rec left="recs/kinectRecord_0_3042013213625.oni" right="recs/kinectRecord_1_3042013213625.oni"/>
+ <rec left="recs/kinectRecord_0_3042013214949.oni" right="recs/kinectRecord_1_3042013214949.oni"/>
+ <rec left="recs/kinectRecord_0_3042013215132.oni" right="recs/kinectRecord_1_3042013215132.oni"/>
+ <rec left="recs/kinectRecord_0_3042013215311.oni" right="recs/kinectRecord_1_3042013215311.oni"/>
+ <rec left="recs/kinectRecord_0_304201322041.oni" right="recs/kinectRecord_1_304201322041.oni"/>
+ <rec left="recs/kinectRecord_0_3042013221151.oni" right="recs/kinectRecord_1_3042013221151.oni"/>
+</TRSS>
+
+#48 tracks
+#36 audio, long ones 1,24,36
+#11 segments in poem
+# long + take + take + long + take + long seems correct!
+# how wrong we can be \ No newline at end of file
diff --git a/04_playobjects/src/testApp.cpp b/04_playobjects/src/testApp.cpp
index c1850f9..6351282 100644
--- a/04_playobjects/src/testApp.cpp
+++ b/04_playobjects/src/testApp.cpp
@@ -21,7 +21,9 @@ void testApp::setup() {
for (int i=0;i<num;i++) {
players.push_back(syncOniPlayer());
players[i].addPlayer(XML.getAttribute("rec","left","",i));
- if (numDevices>1) players[i].addPlayer(XML.getAttribute("rec","right","",i));
+ if (numDevices==2) {
+ players[i].addPlayer(XML.getAttribute("rec","right","",i));
+ }
players[i].audio=XML.getAttribute("rec","audio","",i);
}
}
@@ -34,20 +36,14 @@ void testApp::setup() {
receiver.setup(OSCPORT);
- user.setUseMaskTexture(true);
- user.setUsePointCloud(true);
- user.setPointCloudDrawSize(2); // this is the size of the glPoint that will be drawn for the point cloud
- user.setPointCloudResolution(2); // this is the step size between points for the cloud -> eg., this sets it to every second point
-
- drawmovies=false;drawcloud=true;
+ drawmovies=false;drawcloud=false;
}
void testApp::startPlayers(int newplayer){
if (playing>-1) players[playing].stop();
- soundplayer.stop();
usleep(100000);
playing=newplayer;
- players[playing].play(user);
+ players[playing].play();
}
//--------------------------------------------------------------
@@ -82,8 +78,19 @@ void testApp::draw(){
ofPushMatrix();
- if (drawmovies) players[playing].drawWindows();
- if (drawmovies) players[playing].drawCloud();
+ if (playing>-1) {
+ if (drawmovies) {
+ players[playing].drawWindows();
+ }
+
+ if (drawcloud) {
+ cam.begin();
+ ofTranslate(ofGetWidth()/2, ofGetHeight()/2,0);
+ players[playing].drawCloud();
+ ofDrawAxis(100);
+ cam.end();
+ }
+ }
ofPopMatrix();
@@ -93,6 +100,7 @@ void testApp::draw(){
msg += "\nclip: "+ofToString(playing);
if (playing>-1) msg += "\n"+players[playing].audio;
msg += "\noffset: "+ofToString(offset);
+ if (drawcloud>-1) msg += "\nwith cloud";
verdana.drawString(msg, 10, 10);
}
diff --git a/04_playobjects/src/testApp.h b/04_playobjects/src/testApp.h
index 0de2207..32e6dad 100644
--- a/04_playobjects/src/testApp.h
+++ b/04_playobjects/src/testApp.h
@@ -4,6 +4,7 @@
#include "ofxOpenNI.h"
#include "ofMain.h"
#include "ofxXmlSettings.h"
+#include "ofxMayaCam.h"
#include "ofxOsc.h"
@@ -35,21 +36,22 @@ class syncOniPlayer{
//players[players.size()-1]->start();
//players[players.size()-1]->startPlayer(name);
}
- void play(ofxOpenNIUser user){
+ void play(){
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]->setupFromONI(filenames[i],false);
+ //players[i]->addDepthGenerator();
+ //players[i]->addImageGenerator();
+ //players[i]->setRegister(true);
players[i]->setLooped(false);
- players[i]->setBaseUserClass(user);
+ //players[i]->setBaseUserClass(user);
players[i]->start();
//players[players.size()-1]->setSpeed(1.0f);
if (audio!="") {
soundplayer.loadSound(audio);
soundplayer.play();
- }
+ };
}
}
void update(){
@@ -63,29 +65,81 @@ class syncOniPlayer{
players[i]->setPaused(true);
}
}
+ int getCurrentFrame(){
+ if (players.size()) return players[0]->getCurrentFrame();
+ else return -1;
+ }
void drawWindows(){
for (int i=0;i<players.size();i++) {
+ if (players[i]==NULL) break;
ofTranslate(0, i * 400);
players[i]->drawDepth(50, 0,520,390);
players[i]->drawImage(600, 0,520,390);
}
}
void drawCloud(){
+ /*
+ int num=0;
for (int i=0;i<players.size();i++) {
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();
+ //user.drawMask();
ofPushMatrix();
- ofTranslate(ofGetWidth()/2, ofGetHeight()/2, -1000);
+ ofTranslate(0,0,-1000);
user.drawPointCloud();
ofPopMatrix();
}
+ num+=numUsers;
ofDisableBlendMode();
ofPopMatrix();
}
+ return num;
+ */
+ //cerr<<"drawing "<<players.size()<<" clouds"<<endl; we are getting to here when unititialised
+
+ int count;
+ for (int i=0;i<players.size();i++) {
+
+ const XnDepthPixel* depthmap=players[i]->getDepthGenerator().GetDepthMap();
+ //uint16_t* depthpixels=depthmap.getPixels();
+ int range=2500;
+
+ if (players[i]==NULL) {
+ cerr<<"more spooky shit....!";
+ return;
+ }
+ int dmw=players[i]->getWidth();
+
+ for (int i=0;i<players[i]->getWidth();i+=2) {
+
+ glBegin(GL_LINES);
+
+ for (int j=0;j<players[i]->getHeight();j+=2) {
+
+
+
+ ofPoint p= players[i]->projectiveToWorld(ofPoint(i,j,(float)(depthmap[j*dmw+i])));
+ //ofPoint p= projectiveToWorld(ofPoint(i,j,(float)depthmap[j*dmw+i]));
+
+ if (p.z == 0 || p.z>range) continue; // gets rid of background -> still a bit weird if userID > 0... //&& isCPBkgnd
+ //ofColor color = kinect->getColorAt(x,y); //userID);
+ //if (col) glColor4ub((unsigned char)color.r, (unsigned char)color.g, (unsigned char)color.b, (unsigned char)color.a);
+ // else
+
+
+ glColor4ub((unsigned char)255, (unsigned char)255, (unsigned char)255, (unsigned char)255);
+ glVertex3f(p.x, p.y, p.z);
+ //if (i==320&&j==160) cerr<<"world point: "<<p.x<<","<<p.y<<","<<p.z<<endl;
+ }
+
+ glEnd();
+ }
+ }
+
+ return;
}
void stop(){
soundplayer.stop();
@@ -130,7 +184,6 @@ public:
int numDevices;
ofxOpenNI openNIPlayers[MAX_DEVICES];
- ofxOpenNIUser user;
int playing;
@@ -140,12 +193,12 @@ public:
vector<syncOniPlayer> players;
- ofSoundPlayer soundplayer;
-
ofxOscReceiver receiver;
bool drawmovies,drawcloud;
int offset;
+
+ ofxMayaCam cam;
};