//---------------------------------------------------------------------------
void ofxTSPSPeopleTracker::updateSettings()
{
	setHaarXMLFile(p_Settings->haarFile);

	//check to enable OSC
	if (p_Settings->bSendOsc && !bOscEnabled) setupOsc(p_Settings->oscHost, p_Settings->oscPort);
	else if (!p_Settings->bSendOsc) bOscEnabled = false;
	
	//check to enable TUIO
	if (p_Settings->bSendTuio && !bTuioEnabled) setupTuio(p_Settings->tuioHost, p_Settings->tuioPort);
	else if (!p_Settings->bSendTuio) bTuioEnabled = false;

	//check to enable TCP
	if (p_Settings->bSendTcp && !bTcpEnabled) setupTcp(p_Settings->tcpPort);
	else if (!p_Settings->bSendTcp) bTcpEnabled = false;
        
    //check to enable websockets
    if (p_Settings->bSendWebSockets && !bWebSocketsEnabled){
        setupWebSocket(p_Settings->webSocketPort);
    } else if (!p_Settings->bSendWebSockets){
        bWebSocketsEnabled = false;
        webSocketServer.close();
    }
	//switch camera view if new panel is selected
	if (p_Settings->currentPanel != p_Settings->lastCurrentPanel) setActiveView(p_Settings->currentPanel + 1);

	// Set the current view within the gui so the image can only be warped when in Camera View
	if (cameraView.isActive()) {
		gui.changeGuiCameraView(true);
	} else {
		gui.changeGuiCameraView(false);
	}
}
//--------------------------------------------------------------
void testApp::setup() {
	ofSetVerticalSync(true);
	ofSetFrameRate(60);

	panel.setup("Control Panel", 640 - 140, 240, 280, 600);
	panel.addPanel("Contours");
	panel.addSlider("alpha", "alpha", .1, 0, 1);
	panel.addSlider("blurAmount", "blurAmount", 4, 0, 16, true);
	panel.addSlider("threshLevel", "threshLevel", 64, 0, 255, true);
	panel.addSlider("minArea", "minArea", 200, 0, 100 * 100, true);
	panel.addSlider("maxArea", "maxArea", 10000, 32 * 32, 240 * 240, true);
	panel.addSlider("nConsidered", "nConsidered", 8, 1, 16, true);

	panel.addPanel("Camera");
	panel.addSlider("maxLen", "maxLen", 8, 0, 20);
	panel.addSlider("stepSize", "stepSize", 1, 1, 10, true);
	panel.addSlider("nearClipping", "nearClipping", 320, 0, 1024);
	panel.addSlider("farClipping", "farClipping", 350, 0, 1024);
	panel.addSlider("orthoScale", "orthoScale", .65, 0, 2);
	panel.addSlider("camx", "camx", 0, -1024, 1024);
	panel.addSlider("camy", "camy", -148, -1024, 1024);
	panel.addSlider("camz", "camz", 0, -1024, 1024);
	panel.addSlider("camrx", "camrx", 20.2, -180, 180);
	panel.addSlider("camry", "camry", 0, -180, 180);
	panel.addSlider("camrz", "camrz", 0, -180, 180);

	cam.setup();

	blur.allocate(640, 480);
	thresh.allocate(640, 480);

	setupOsc();
}
Exemple #3
0
//--------------------------------------------------------------
void testApp::setup(){
	
	setupOsc();
	setupKinect();
	setupGraphics();
	mode = Donk::Mode::getInstance();
	// default starting mode
	nextMode = "buzz";
	mode->setMode(nextMode);

}
void testApp::setup() {
	ofSetWindowTitle(appName);
	ofSetVerticalSync(true);
	ofSetLogLevel(OF_LOG_VERBOSE);

	ofSeedRandom(0);
	PhotoManager::setup("~/Desktop/3rdiStream/resized/");
	
	setupOsc();

	ofxVec2f size = getMaxSize();
	surface.setup(size, ofxVec2f(60, 100));
	wall.setup(surface);
}
Exemple #5
0
/* - Oscillators */
unit *addOsc(unitScope scope) { /* add oscillator unit */
	unit *newUnit = addUnit(scope); /* adding and setting up basics for new unit*/
	int i, iMax = ((scope == usGLOBAL) ? 1 : voiceCount);

	newUnit->type = utOSC;
	newUnit->comp = (void (*)(void *))&compOsc; /* setup computing function for unit */
	newUnit->reinit = (void (*)(void *))&reinitOsc; /* reinit function for unit */

	for (i = 0; i < iMax; i++) { /* setup one inner unit for global unit or one for every voice for local unit */
		newUnit->units[i] = ecMalloc(sizeof(osc)); /* allocate memory for every inner unit */
		setupOsc(newUnit->units[i]); /* specific setup for oscillator */
	}

	return newUnit;
}
void ofxTSPSPeopleTracker::updateSettings()
{
	setHaarXMLFile(p_Settings->haarFile);

	//check to enable OSC
	if (p_Settings->bSendOsc && !bOscEnabled) setupOsc(p_Settings->oscHost, p_Settings->oscPort);
	else if (!p_Settings->bSendOsc) bOscEnabled = false;
	
	//check to enable TUIO
	if (p_Settings->bSendTuio && !bTuioEnabled) setupTuio(p_Settings->tuioHost, p_Settings->tuioPort);
	else if (!p_Settings->bSendTuio) bTuioEnabled = false;

	//check to enable TCP
	if (p_Settings->bSendTcp && !bTcpEnabled) setupTcp(p_Settings->tcpPort);
	else if (!p_Settings->bSendTcp) bTcpEnabled = false;
	
	//switch camera view if new panel is selected
	if (p_Settings->currentPanel != p_Settings->lastCurrentPanel) setActiveView(p_Settings->currentPanel + 1);
}
//--------------------------------------------------------
void captureApp::setup(){
	ofSetLogLevel(OF_LOG_NOTICE);
	serial.enumerateDevices();
	
	ofxXmlSettings serialSetup;
	serialSetup.loadFile("serialSettings.xml");
	string serialPort = serialSetup.getValue("serialPort", "");
	serial.setup(serialPort, 9600);		// < this should be set
	// to whatever com port
	// your serial device is 
	// connected to.  
	// (ie, COM4 on a pc, dev/tty.... on a mac)
	// arduino users check in arduino app....
	serial.flush();
	
	state			= CAP_STATE_WAITING;
	debugState		= CAP_NORMAL;
	camState		= CAMERA_CLOSED;
	prevCamState	= CAMERA_CLOSED;
	
	preCamMode				= 0;
	cameraFrameNum			= 0;
	sdk						= NULL;
	settings				= NULL;
	timeToEndCapture		= 0.0;
	bNeedsToLeaveFrame		= false;
	bOscSetup				= false;
	fadeInStartTime			= 0.0;
	spotLightAlpha			= 1.0;
	bDoThreadedRSync		= false;
	bDoThreadedFrameSave	= false;
	
	camera3D.disableMouseEvents();
				
	if( !ofxFileHelper::doesFileExist(CAPTURE_MAIN_FOLDER) ){
		printf("making folder %s\n", CAPTURE_MAIN_FOLDER.c_str());
		ofxFileHelper::makeDirectory(CAPTURE_MAIN_FOLDER);
	}
	
	if( !ofxFileHelper::doesFileExist(EXPORT_FOLDER) ){
		printf("making folder %s\n", EXPORT_FOLDER.c_str());	
		ofxFileHelper::makeDirectory(EXPORT_FOLDER);
		if( !ofxFileHelper::doesFileExist(DECODE_FOLDER) ){
			ofxFileHelper::makeDirectory(DECODE_FOLDER);
		}		
	}
	
	ofxXmlSettings xml;
	xml.loadFile("locationSettings.xml");
	currentCity			= xml.getValue("city_name", "NYC");
	transformSpaces(currentCity); //remove space and add underscores
	currentDecodePath		= DECODE_FOLDER;
	currentCaptureFolder    = string(CAPTURE_MAIN_FOLDER) + FRAME_CAPTURE_FOLDER;
	currentTimestamp		= (ofxTimeStamp()).getUnixTimeAsString();
	
	// setup panel
	panel.setup("control", 0, 0, 300, 768);

	panel.setBackgroundColor(simpleColor(10, 10, 10, 0));
		
	//panel.loadFont("resources/myFont.ttf", 9);
	panel.addPanel("app/capture settings", 1);
	panel.addPanel("app settings", 1);
	panel.addPanel("face trigger settings", 1);
	panel.addPanel("pattern settings", 1);
	panel.addPanel("misc settings", 1);
	
	panel.setWhichPanel("app/capture settings");

	panel.addToggle("use face trigger", "B_FACE_TRIGGER", false);
	
	vector <string> camModes;
	camModes.push_back("camera off");
	camModes.push_back("camera qt");
	camModes.push_back("camera dc1394");
	
	panel.addMultiToggle("camera mode", "camMode", 0, camModes);
	
	panel.addToggle("camera settings", "cameraSettings", false);
	
	panel.addToggle("overide light", "bOverideLight", true);
	panel.addToggle("show red clipping", "SHOW_RED", true);

	panel.addToggle("fullscreen", "fullscreen", false);
	
	panel.addToggle("spot light image", "bSpotLight", true);
	panel.addSlider("spotlight %", "spotLightBrightness", 1.0, 0.0, 1.0, false);
	
	panel.addToggle("frame by frame", "frameByFrame", false);
	panel.addToggle("large video", "largeVideo", false);

	panel.addSlider("min brightness", "minBrightness", 0, 0, 255, true);
	panel.addSlider("max brightness", "maxBrightness", 255, 0, 255, true);	
	panel.addSlider("3 phase - wavelength", "wavelength", 64, 8, 512, true);
	panel.addToggle("use projector lut", "projectorLut", false);
		
	panel.setWhichPanel("app settings");
	
	panel.addSlider("fade in time", "fadeInTime", 2.0, 0.0, 5.0, false);
	
	vector<string> postCapModes;
	postCapModes.push_back("save frames");
	postCapModes.push_back("decode and frames");
	postCapModes.push_back("decode, export and frames");
	postCapModes.push_back("all above + notify");
	panel.addMultiToggle("post capture:", "postCapture", 2, postCapModes);
	
	panel.addToggle("notify with osc", "use_osc", false);
	
	panel.addSlider("decode skip frames", "decodeSkipFrame", 2, 0, 5, true);
	
	panel.addSlider("capture time f", "CAPTURE_TIME_F", 4.0, 2.0, 15.0, false);
	
	panel.setWhichPanel("pattern settings");
	
	panel.addSlider("pattern rate", "patternRate", 1, 1, 6, true);
	panel.addSlider("camera rate", "cameraRate", 1, 1, 6, true);
	panel.addSlider("camera offset", "cameraOffset", 0, 0, 5, true);
	
	panel.addToggle("reverse", "reverse", false);
	
	vector<string> orientations;
	orientations.push_back("vertical");
	orientations.push_back("horizonal");
	panel.addMultiToggle("orientation", "orientation", 0, orientations);
	
	
	panel.setWhichPanel("face trigger settings");
	panel.addSlider("face trigger fps", "FACE_FPS", 10, 3, 30, false);
	panel.addSlider("face detected time", "FACE_DETECT_TIME", 2.0, 0.1, 10.0, false);
	panel.addSlider("face forget time", "FACE_FORGET_TIME", 2.0, 0.1, 10.0, false);
	
	guiStatVarPointer varPtr;
	varPtr.setup("num faces", &face.numFaces, GUI_VAR_INT, true);
	panel.addChartPlotter("num faces", varPtr, 240, 60, 240, -1, 3);
	panel.addChartPlotter("face confidence", guiStatVarPointer("confidence", &face.confidence, GUI_VAR_FLOAT, true, 2), 240, 70, 240, -0.2, 1.2);
	
	panel.addDrawableRect("state", &face, 240, 40);
	
	panel.addSlider("confidence add amnt", "confidence_add", 0.1, 0.05, 1.0, false);
	panel.addSlider("confidence fade amnt", "confidence_fade", 0.95, 0.8, 0.995, false);
	panel.addSlider("confidence gate start val", "confidence_gate_start", 0.65, 0.15, 1.0, false);
	panel.addSlider("confidence gate stop val", "confidence_gate_stop", 0.4, 0.0, 1.0, false);
	
	panel.setWhichPanel("misc settings");
	
	panel.addToggle("brightness setting", "brightnessSetting", false);
	panel.addSlider("check brigheness", "checkBrightness", 0, 0, 255, true);
	panel.addToggle("delete after transfer", "bDeleteAfterSend", false);
	panel.addToggle("restart at 3.00am", "bRestart", false);
	panel.addSlider("restart hour", "restartHour", 3, 1, 23, true);
	panel.addSlider("restart minute", "restartMinute", 0, 0, 59, true);
	
	panel.loadSettings("controlCapture.xml");
	
	if( panel.getValueB("use_osc") ){
		setupOsc();
	}
	
	//overides 
	//panel.setValueI("camMode", 0);
	panel.setValueI("fullscreen", 1);
	panel.setValueI("cameraSettings", 0);
	panel.setValueI("frameByFrame", 0);
	panel.setValueI("largeVideo", 0);
	panel.setValueI("brightnessSetting",0);
	panel.setValueI("bOverideLight",0);
	panel.setValueI("bSpotLight", 1);
	
	cameraWidth  = 640;
	cameraHeight = 480;
	
	int n = 3; // no patterns have more than 3 frames
	for(int i = 0; i < n; i++) {
		recent.push_back(ofImage());
		recent.back().allocate(
							   cameraWidth,
							   cameraHeight,
							   OF_IMAGE_COLOR);
		needsUpdate.push_back(false);
	}
	curGenerator = &threePhase;
	
	int captureTime = 15;
	imageSaver.setup(cameraWidth, cameraHeight, captureTime * 60);
	
	ofSetVerticalSync(true);
	ofSetFrameRate(60);
	
	ofBackground(0, 0, 0);
	
	scanningSound.loadSound("resources/scanningPlaceholder.mp3");
	scanningSound.setLoop(true);
	
	spotLightImage.loadImage("resources/captureMask.jpg");
	generateSpotlight(spotLightImage);
	spotLightImage.setAnchorPercent(0.5, 0.5);
	
	face.setup("faceHaar/haarcascade_frontalface_alt.xml", 320, 240, 2.0, 2.0);
	prevFaceCheckTimeF = ofGetElapsedTimef();
	
	threePhase.setSize(1024, 768);
	updateGenerator();
	
	light.setup(0);
}
//-----------------------------------------------
void captureApp::update(){
	panel.update();
	
	if( panel.getValueB("bRestart") ){
		if( panel.getValueI("restartHour") == ofGetHours() ){
			if( panel.getValueI("restartMinute") == ofGetMinutes() ){
				printf("shutting down now!\n");
				
				system(ofToDataPath("reboot.sh").c_str());
			}
		}
	}
	
	char data[10];
	memset(data, 0, 10);
	if (serial.available() > 0){
		serial.readBytes((unsigned char*) data, 10);
		if(state == CAP_STATE_WAITING)
			startFadeIn();
	}
	
	if( panel.hasValueChanged("bOverideLight") ){
		if( panel.getValueB("bOverideLight") ){
			light.lightOn();
		}else{
			light.lightOff();
		}
	}
	
	bEnableOsc = panel.getValueB("use_osc");
	if( panel.hasValueChanged("use_osc") ){
		if( bEnableOsc && !bOscSetup ){
			setupOsc();
			printf("------------- setting up osc\n");
		}
	}
	
	if( state == CAP_STATE_FADEIN || state == CAP_STATE_CAPTURE ){
		panel.setValueB("frameByFrame", false);
		panel.setValueB("bSpotLight", true);
	}
	
	//the capture part happens in the camera callbacks at the top.
	//this just checks to make sure that the capture doesn't need to keep running.
	if( state == CAP_STATE_CAPTURE ){
		panel.hidden = true;
		if( ofGetFrameNum() % 4 == 0 ){
			printf("fps is %s\n", ofToString(camFps, 2).c_str());
		}
		if( ofGetElapsedTimef() >= timeToEndCapture ){
			printf("time is %f - time to end is %f\n", ofGetElapsedTimef(), timeToEndCapture);
			endCapture();		
		}
	}else if( debugState == CAP_DEBUG ){
		panel.hidden = false;
	}

	if( debugState == CAP_NORMAL ){
		ofHideCursor();
	}else {
		ofShowCursor();
	}

	
	if( state == CAP_STATE_CAPTURE && ofGetElapsedTimef() >= timeToEndCapture ){
		printf("time is %f - time to end is %f\n", ofGetElapsedTimef(), timeToEndCapture);
		endCapture();		
		if( panel.getValueB("B_FACE_TRIGGER") ){
			bNeedsToLeaveFrame = true;
		}else{
			bNeedsToLeaveFrame = false;
		}
	}
	
	if( state == CAP_STATE_FADEIN && ofGetElapsedTimef() > fadeInStartTime + panel.getValueF("fadeInTime") ){
		startCapture();
	}	
	
	if( state == CAP_STATE_DECODING ){
		handleDecode();
	}else{	
		handleProjection();
		handleCamera();
		handleFaceTrigger();
	}
	
	panel.clearAllChanged();
}	
void testApp::setup() {
    ofSetFrameRate(60);
	setupOsc();
}