//-------------------------------------------------------------- void testApp::keyPressed(int key){ switch (key) { case 's': if (isRecording) { oniRecorder.stopRecord(); isRecording = false; break; } else { setupRecording(generateFileName()); oniRecorder.startRecord(currentFileName); isRecording = true; break; } break; case 'p': if (currentFileName != "" && !isRecording && isLive) { setupPlayback(currentFileName); isLive = false; } else { isLive = true; } break; default: break; } }
void oniActorApp::processOpenFileSelection(ofFileDialogResult openFileResult) { ofLogVerbose("getName(): " + openFileResult.getName()); ofLogVerbose("getPath(): " + openFileResult.getPath()); ofFile file (openFileResult.getPath()); if (file.exists()) { setupPlayback(openFileResult.getPath()); isLive = false; } else { ofLogVerbose("Problem with openFileResult: " + openFileResult.getName()); } }
//-------------------------------------------------------------- void motionDetector::setup() { // hand position tracking for Ryan myfile.open ("handPosition.txt"); // img.allocate(640,480); countElapsedPlucks = 0; lastObjectTouched = -1; for (int i=0; i<12; i++) { timeObjectWasLastTouched[i] = 0; } // set background color ofBackground(0, 0, 0); isRecording = false; isTracking = false; isTrackingHands = true; isFiltering = false; isMasking = true; nearThreshold = 200; farThreshold = 1000; filterFactor = 0.1f; pluckParams.pos = 0; pluckParams.vel = 0; pluckParams.acc = 0; pluckParams.index = 0; if (filename=="") { cout << "no .oni filename detected in cmd-line, running setupRecording() \n"; isLive = true; setupRecording(); } else { cout << ".oni filename detected in cmd-line, running setupPlayback(filename) \n"; isLive = false; setupPlayback(filename); } setupDetectors(); }
//-------------------------------------------------------------- void testApp::keyPressed(int key){ float smooth; switch (key) { #ifdef TARGET_OSX // only working on Mac at the moment case 357: // up key hardware.setTiltAngle(hardware.tilt_angle++); break; case 359: // down key hardware.setTiltAngle(hardware.tilt_angle--); break; #endif case 's': case 'S': if (isRecording) { oniRecorder.stopRecord(); isRecording = false; break; } else { oniRecorder.startRecord(generateFileName()); isRecording = true; break; } break; case 'p': case 'P': if (oniRecorder.getCurrentFileName() != "" && !isRecording && isLive) { setupPlayback(oniRecorder.getCurrentFileName()); isLive = false; } else { isLive = true; } break; case 't': case 'T': isTracking = !isTracking; break; case 'h': case 'H': isTrackingHands = !isTrackingHands; if(isLive) recordHandTracker.toggleTrackHands(); if(!isLive) playHandTracker.toggleTrackHands(); break; case 'f': case 'F': isFiltering = !isFiltering; recordHandTracker.isFiltering = isFiltering; playHandTracker.isFiltering = isFiltering; break; case 'm': case 'M': isMasking = !isMasking; recordUser.setUseMaskPixels(isMasking); playUser.setUseMaskPixels(isMasking); break; case 'c': case 'C': isCloud = !isCloud; recordUser.setUseCloudPoints(isCloud); playUser.setUseCloudPoints(isCloud); break; case 'b': case 'B': isCPBkgnd = !isCPBkgnd; break; case '9': case '(': smooth = recordUser.getSmoothing(); if (smooth - 0.1f > 0.0f) { recordUser.setSmoothing(smooth - 0.1f); playUser.setSmoothing(smooth - 0.1f); } break; case '0': case ')': smooth = recordUser.getSmoothing(); if (smooth + 0.1f <= 1.0f) { recordUser.setSmoothing(smooth + 0.1f); playUser.setSmoothing(smooth + 0.1f); } break; case '[': //case '{': if (filterFactor - 0.1f > 0.0f) { filterFactor = filterFactor - 0.1f; recordHandTracker.setFilterFactors(filterFactor); if (oniRecorder.getCurrentFileName() != "") playHandTracker.setFilterFactors(filterFactor); } break; case ']': //case '}': if (filterFactor + 0.1f <= 1.0f) { filterFactor = filterFactor + 0.1f; recordHandTracker.setFilterFactors(filterFactor); if (oniRecorder.getCurrentFileName() != "") playHandTracker.setFilterFactors(filterFactor); } break; case ';': case ':': smooth = recordHandTracker.getSmoothing(); if (smooth - 0.1f > 0.0f) { recordHandTracker.setSmoothing(smooth - 0.1f); playHandTracker.setSmoothing(smooth - 0.1f); } break; case '\'': case '\"': smooth = recordHandTracker.getSmoothing(); if (smooth + 0.1f <= 1.0f) { recordHandTracker.setSmoothing(smooth + 0.1f); playHandTracker.setSmoothing(smooth + 0.1f); } break; case '>': case '.': farThreshold += 50; if (farThreshold > recordDepth.getMaxDepth()) farThreshold = recordDepth.getMaxDepth(); break; case '<': case ',': farThreshold -= 50; if (farThreshold < 0) farThreshold = 0; break; case '+': case '=': nearThreshold += 50; if (nearThreshold > recordDepth.getMaxDepth()) nearThreshold = recordDepth.getMaxDepth(); break; case '-': case '_': nearThreshold -= 50; if (nearThreshold < 0) nearThreshold = 0; break; case 'r': recordContext.toggleRegisterViewport(); break; case 'z': case 'Z': ofToggleFullscreen(); break; case 'x': case 'X': gui->toggleVisible(); break; default: break; } }
//-------------------------------------------------------------- void motionDetector::keyPressed(int key) { float smooth; switch (key) { case 's': case 'S': if (isRecording) { oniRecorder.stopRecord(); isRecording = false; break; } else { oniRecorder.startRecord(generateFileName()); isRecording = true; break; } break; case 'p': case 'P': if (oniRecorder.getCurrentFileName() != "" && !isRecording && isLive) { setupPlayback(oniRecorder.getCurrentFileName()); isLive = false; } else { isLive = true; } break; case 't': case 'T': isTracking = !isTracking; break; case 'h': case 'H': isTrackingHands = !isTrackingHands; if(isLive) recordHandTracker.toggleTrackHands(); if(!isLive) playHandTracker.toggleTrackHands(); break; case 'f': case 'F': isFiltering = !isFiltering; recordHandTracker.isFiltering = isFiltering; playHandTracker.isFiltering = isFiltering; break; case '9': case '(': smooth = recordUser.getSmoothing(); if (smooth - 0.1f > 0.0f) { recordUser.setSmoothing(smooth - 0.1f); playUser.setSmoothing(smooth - 0.1f); } break; case '0': case ')': smooth = recordUser.getSmoothing(); if (smooth + 0.1f <= 1.0f) { recordUser.setSmoothing(smooth + 0.1f); playUser.setSmoothing(smooth + 0.1f); } break; case '[': case '{': if (filterFactor - 0.1f > 0.0f) { filterFactor = filterFactor - 0.1f; recordHandTracker.setFilterFactors(filterFactor); if (oniRecorder.getCurrentFileName() != "") playHandTracker.setFilterFactors(filterFactor); } break; case ']': case '}': if (filterFactor + 0.1f <= 1.0f) { filterFactor = filterFactor + 0.1f; recordHandTracker.setFilterFactors(filterFactor); if (oniRecorder.getCurrentFileName() != "") playHandTracker.setFilterFactors(filterFactor); } break; case ';': case ':': smooth = recordHandTracker.getSmoothing(); if (smooth - 0.1f > 0.0f) { recordHandTracker.setSmoothing(smooth - 0.1f); playHandTracker.setSmoothing(smooth - 0.1f); } break; case '\'': case '\"': smooth = recordHandTracker.getSmoothing(); if (smooth + 0.1f <= 1.0f) { recordHandTracker.setSmoothing(smooth + 0.1f); playHandTracker.setSmoothing(smooth + 0.1f); } break; case '>': case '.': farThreshold += 50; if (farThreshold > recordDepth.getMaxDepth()) farThreshold = recordDepth.getMaxDepth(); break; case '<': case ',': farThreshold -= 50; if (farThreshold < 0) farThreshold = 0; break; case '+': case '=': nearThreshold += 50; if (nearThreshold > recordDepth.getMaxDepth()) nearThreshold = recordDepth.getMaxDepth(); break; case '-': case '_': nearThreshold -= 50; if (nearThreshold < 0) nearThreshold = 0; break; case 'r': recordContext.toggleRegisterViewport(); break; case 'Q': case 'q': myfile.close(); break; default: break; } }