summaryrefslogtreecommitdiff
path: root/liveengine/src/testApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'liveengine/src/testApp.cpp')
-rwxr-xr-xliveengine/src/testApp.cpp143
1 files changed, 67 insertions, 76 deletions
diff --git a/liveengine/src/testApp.cpp b/liveengine/src/testApp.cpp
index 8527f73..d5288c1 100755
--- a/liveengine/src/testApp.cpp
+++ b/liveengine/src/testApp.cpp
@@ -88,7 +88,7 @@ void testApp::setup(){
kw->addListener(kinectWin);
kinectWin->setup();
kinectWin->setParent(this);
-
+
isLive = true;
isTracking = false;
isFiltering = false;
@@ -99,7 +99,7 @@ void testApp::setup(){
farThreshold = 1000;
filterFactor = 10.0f;
-
+
recordContext.setup();
recordDepth.setup(&recordContext);
recordImage.setup(&recordContext);
@@ -110,7 +110,18 @@ void testApp::setup(){
recordUser.setMaxNumberOfUsers(2);
}
viewports.push_back(new viewport(w,h,x,y,rot,ox,oy));
- viewports[viewports.size()-1]->setUG(&recordUser);
+ viewports[i]->setUG(&recordUser);
+
+ XML.pushTag("viewport",i);
+ vector<string>keys;
+ XML.getAttributeNames("settings", keys, 0);
+ map<string,string>settings;
+ for (int k=0;k<keys.size();k++) {
+ settings[keys[k]]=XML.getAttribute("settings",keys[k],"none",0);
+ }
+ viewports[i]->setcam(settings);
+ XML.popTag();
+
}
else viewports.push_back(new viewport(w,h,x,y,rot,ox,oy));
}
@@ -118,7 +129,9 @@ void testApp::setup(){
else printf("no viewports!\n");
}
}
-
+
+ activeView=-1;
+
midiIn.listPorts();
midiIn.openPort(midiPort);
midiIn.addListener(this);
@@ -227,7 +240,7 @@ void testApp::makeColours() {
//--------------------------------------------------------------
void testApp::update(){
//for (int i=0;i<numLayers;i++) layers[i]->update();
-
+
if (useKinect) {
recordContext.update();
recordDepth.update();
@@ -235,7 +248,25 @@ void testApp::update(){
recordUser.update();
}
}
+void testApp::saveSettings(string filename){
+ if(XML.pushTag("liveEngine")) {
+ for (int i=0;i<viewports.size();i++){
+ if (viewports[i]->isMapped) {
+ XML.pushTag("viewport",i);
+ vector<string>keys;
+ XML.getAttributeNames("settings", keys, 0);
+ for (int k=0;k<keys.size();k++) {
+ XML.setAttribute("settings", keys[k], viewports[i]->getSetting(keys[k]),0);
+ }
+ XML.popTag();
+ }
+ }
+ XML.popTag();
+ }
+ XML.saveFile(filename);
+ printf("saved %s\n",filename.c_str());
+}
//--------------------------------------------------------------
void testApp::draw(){
@@ -395,75 +426,38 @@ void testApp::keyPressed(int key, ofxFenster* win){
else keyPressed(key);
}
void testApp::keyPressed(int key){
- if(key == 'q'){
- list.load("insects.xml");
- }
- if(key == 'Q'){
- list.load("birds.xml");
- }
- if(key == 'w'){
- list.load("teamsports.xml");
- }
- if(key == 'W'){
- list.load("american_football.xml");
- }
- if(key == 'e'){
- list.load("organs.xml");
- }
- if(key == 'E'){
- list.load("crests.xml");
- }
- if(key == 'r'){
- list.load("tai_chi.xml");
- }
- if(key == 'R'){
- list.load("cricket.xml");
- }
- if(key == 't'){
- list.load("reptiles.xml");
- }
- if(key == 'T'){
- list.load("tools.xml");
- }
- if(key == 'y'){
- list.load("miltary_ladies.xml");
- }
- if(key == 'Y'){
- list.load("women_ethnic.xml");
- }
- if(key == 'u'){
- list.load("knights.xml");
- }
- if(key == 'U'){
- list.load("food.xml");
- }
- if(key == 'i'){
- list.load("mil_historic.xml");
- }
- if(key == 'I'){
- list.load("mil_ethnic.xml");
- }
- if(key == 'o'){
- list.load("yoga.xml");
- }
- if(key == 'O'){
- list.load("computers.xml");
- }
- if(key == 'p'){
- list.load("dancing.xml");
- }
- if(key == 'P'){
- list.load("trainers.xml");
- }
- if(key == 's'){
- XML.saveFile("settings.xml");
+
+ if (activeView<0) for (int i=0;i<viewports.size();i++) viewports[i]->keyPressed(key);
+ else if (activeView<viewports.size()) viewports[activeView]->keyPressed(key);
+
+
+ if (key>='1' && key <='6'){
+ activeView=min(key-'3',(int)viewports.size());
+ switch (activeView){
+ case -2:
+ printf("deactivating viewport adjustment\n");
+ break;
+ case -1:
+ printf("adjusting all viewports\n");
+ break;
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ printf("adjusting viewport %i\n",activeView );
+ break;
+ }
+ }
+
+ if(key == 'p'){
+ saveSettings("settings.xml");
printf("settings saved!\n");
}
if(key == 'f'){
toggleFPS();
}
- if(key >='0' && key <= '9'){
- mode=key-'0';
+ if(key >='7' && key <= '9'){
+ mode=key-'7';
}
if(key == 267){
xshift--;
@@ -500,14 +494,10 @@ void testApp::keyPressed(int key){
}
- if(key == 'd'){
- debug=!debug;
- }
-
- if (key=='j') {
+ if (key=='.') {
fscale=1.0f;
}
- if (key=='h') {
+ if (key=='/') {
scale=1.0f;
}
@@ -515,7 +505,8 @@ void testApp::keyPressed(int key){
//--------------------------------------------------------------
void testApp::keyReleased(int key){
-
+ if (activeView<0) for (int i=0;i<viewports.size();i++) viewports[i]->keyReleased(key);
+ else if (activeView<viewports.size()) viewports[activeView]->keyReleased(key);
}
//--------------------------------------------------------------