From 54e7a97044d3dcefc82c2b0ef929f0eb5b2cd76c Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Mon, 20 May 2013 09:30:42 +0100 Subject: some reorganisation --- 03_play/src/main.cpp | 17 ++++++ 03_play/src/testApp.cpp | 139 ++++++++++++++++++++++++++++++++++++++++++++++++ 03_play/src/testApp.h | 39 ++++++++++++++ 3 files changed, 195 insertions(+) create mode 100644 03_play/src/main.cpp create mode 100644 03_play/src/testApp.cpp create mode 100644 03_play/src/testApp.h (limited to '03_play') diff --git a/03_play/src/main.cpp b/03_play/src/main.cpp new file mode 100644 index 0000000..87dc35f --- /dev/null +++ b/03_play/src/main.cpp @@ -0,0 +1,17 @@ + +#include "testApp.h" +#include "ofMain.h" +#include "ofAppGlutWindow.h" + +//======================================================================== +int main( ){ + + ofAppGlutWindow window; + ofSetupOpenGL(&window, 1600,900, OF_FULLSCREEN); // <-------- setup the GL context + + // this kicks off the running of my app + // can be OF_WINDOW or OF_FULLSCREEN + // pass in width and height too: + ofRunApp( new testApp()); + +} diff --git a/03_play/src/testApp.cpp b/03_play/src/testApp.cpp new file mode 100644 index 0000000..74f0799 --- /dev/null +++ b/03_play/src/testApp.cpp @@ -0,0 +1,139 @@ +#include "testApp.h" + +//-------------------------------------------------------------- +void testApp::setup() { + + ofSetLogLevel(OF_LOG_NOTICE); + + verdana.loadFont(ofToDataPath("verdana.ttf"), 10); + + playing=0; + numDevices=2; + + if( !XML.loadFile("TRSS_nesbitt_recordings.xml") ){ + printf("unable to load recordings, check data/ folder\n"); + }else{ + if(XML.pushTag("TRSS")) { + int num=XML.getNumTags("rec"); + if(num) { + for (int i=0;i rec; + rec.push_back(XML.getAttribute("rec","left","",i)); + rec.push_back(XML.getAttribute("rec","right","",i)); + recs.push_back(rec); + } + } + else printf("no recordings!\n"); + } + } + + + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIPlayers[deviceID].setup(false); + openNIPlayers[deviceID].start(); + openNIPlayers[deviceID].startPlayer(ofToDataPath(recs[playing][deviceID])); + } +} + +//-------------------------------------------------------------- +void testApp::update(){ + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIPlayers[deviceID].update(); + } +} + +//-------------------------------------------------------------- +void testApp::draw(){ + ofBackground(0, 0, 0); + ofSetColor(255, 255, 255); + + ofPushMatrix(); + + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + ofTranslate(0, deviceID * 450); + //openNIPlayers[deviceID].drawDebug(); + openNIPlayers[deviceID].drawDepth(200, 0,600,450); + openNIPlayers[deviceID].drawImage(800, 0,600,450); + } + + ofPopMatrix(); + + ofSetColor(255, 255, 255); + string msg = "MILLIS: " + ofToString(ofGetElapsedTimeMillis()) + "\nFPS: " + ofToString(ofGetFrameRate()); + + verdana.drawString(msg, 10, 10); +} + +//-------------------------------------------------------------- +void testApp::exit(){ + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIPlayers[deviceID].stop(); + } +} + +//-------------------------------------------------------------- +void testApp::keyPressed(int key){ + switch (key) { + case '.': + if (playing==0) playing=recs.size(); + playing--; + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIPlayers[deviceID].startPlayer(ofToDataPath(recs[playing][deviceID])); + } + break; + case ',': + playing=(playing+1)%recs.size(); + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIPlayers[deviceID].startPlayer(ofToDataPath(recs[playing][deviceID])); + } + break; + } + + /* why do this? + switch (key) { + case 't': + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIRecorders[deviceID].toggleRegister(); + } + break; + case 'x': + for (int deviceID = 0; deviceID < numDevices; deviceID++){ + openNIRecorders[deviceID].stop(); + } + break; + default: + break; + } + */ +} + +//-------------------------------------------------------------- +void testApp::keyReleased(int key){ + +} + +//-------------------------------------------------------------- +void testApp::mouseMoved(int x, int y ){ + +} + +//-------------------------------------------------------------- +void testApp::mouseDragged(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mousePressed(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::mouseReleased(int x, int y, int button){ + +} + +//-------------------------------------------------------------- +void testApp::windowResized(int w, int h){ + +} + diff --git a/03_play/src/testApp.h b/03_play/src/testApp.h new file mode 100644 index 0000000..b0ca2c3 --- /dev/null +++ b/03_play/src/testApp.h @@ -0,0 +1,39 @@ +#ifndef _TEST_APP +#define _TEST_APP + +#include "ofxOpenNI.h" +#include "ofMain.h" +#include "ofxXmlSettings.h" + +#define MAX_DEVICES 2 + +class testApp : public ofBaseApp{ + +public: + void setup(); + void update(); + void draw(); + void exit(); + + void keyPressed (int key); + void keyReleased(int key); + void mouseMoved(int x, int y ); + void mouseDragged(int x, int y, int button); + void mousePressed(int x, int y, int button); + void mouseReleased(int x, int y, int button); + void windowResized(int w, int h); + + int numDevices; + ofxOpenNI openNIPlayers[MAX_DEVICES]; + + int playing; + + ofTrueTypeFont verdana; + + vector > recs; + + ofxXmlSettings XML; + +}; + +#endif -- cgit v1.2.3