int main(int argc, char* argv[]) { /* if (( argc != 1) && ( argc != 3)) { std::cout << "usage: SimpleSimulator [host] [port]\n"; return 0; }*/ #ifndef __MACOSX__ glutInit(&argc,argv); #endif TuioServer *server; if( argc == 3 ) { server = new TuioServer(argv[1],atoi(argv[2])); } else server = new TuioServer(); // default is UDP port 3333 on localhost // add an additional TUIO/TCP sender OscSender *tcp_sender; if( argc == 2 ) { tcp_sender = new TcpSender(atoi(argv[1])); } else tcp_sender = new TcpSender(3333); server->addOscSender(tcp_sender); #ifndef WIN32 // add an additional TUIO/DEV sender OscSender *dev_sender = new DevSender(); server->addOscSender(dev_sender); #endif #ifndef LINUX // add an additional TUIO/FLC sender OscSender *flash_sender = new FlashSender(); server->addOscSender(flash_sender); #endif SimpleSimulator *app = new SimpleSimulator(server); app->run(); delete app; delete server; #ifndef LINUX delete flash_sender; #endif #ifndef WIN32 delete dev_sender; #endif delete tcp_sender; return 0; }
int main(int argc, char* argv[]) { /* if (( argc != 1) && ( argc != 3)) { std::cout << "usage: SimpleSimulator [host] [port]\n"; return 0; }*/ #ifndef __MACOSX__ glutInit(&argc,argv); #else if ((argc>1) && ((std::string(argv[1]).find("-NSDocumentRevisionsDebugMode")==0 ) || (std::string(argv[1]).find("-psn_")==0))) argc = 1; #endif TuioServer *server; if( argc == 3 ) { server = new TuioServer(argv[1],atoi(argv[2])); } else server = new TuioServer(); // default is UDP port 3333 on localhost // add an additional TUIO/TCP sender OscSender *tcp_sender; if( argc == 2 ) { tcp_sender = new TcpSender(atoi(argv[1])); } else if ( argc == 3 ) { tcp_sender = new TcpSender(argv[1],atoi(argv[2])); } else tcp_sender = new TcpSender(3333); server->addOscSender(tcp_sender); // add an additional TUIO/WS sender OscSender *ws_sender = new WebSockSender(8080); server->addOscSender(ws_sender); // add an additional TUIO/FLC sender OscSender *flash_sender = new FlashSender(); server->addOscSender(flash_sender); SimpleSimulator *app = new SimpleSimulator(server); app->run(); delete app; delete server; #ifndef LINUX delete flash_sender; #endif delete tcp_sender; delete ws_sender; return 0; }
int main(int argc, char* argv[]) { application_settings config; sprintf(config.file,"none"); const char *app_name = "reacTIVision"; const char *version_no = "1.6"; bool headless = false; std::cout << app_name << " " << version_no << " (" << __DATE__ << ")" << std::endl << std::endl; if (argc>1) { if (strcmp( argv[1], "-h" ) == 0 ) { printUsage(app_name); return 0; } else if( strcmp( argv[1], "-c" ) == 0 ) { if (argc==3) sprintf(config.file,"%s",argv[2]); else { printUsage(app_name); return 0; } } else if( strcmp( argv[1], "-n" ) == 0 ) { headless = true; } else if( strcmp( argv[1], "-l" ) == 0 ) { CameraTool::listDevices(); return 0; } else if ( (std::string(argv[1]).find("-NSDocumentRevisionsDebugMode")==0 ) || (std::string(argv[1]).find("-psn_")==0) ){ // ignore mac specific arguments } else { printUsage(app_name); } } #ifndef WIN32 signal(SIGINT,terminate); signal(SIGHUP,terminate); signal(SIGQUIT,terminate); signal(SIGTERM,terminate); #endif readSettings(&config); config.headless = headless; engine = new VisionEngine(app_name,&config); if (!headless) { UserInterface *uiface = new SDLinterface(app_name,config.fullscreen); switch (config.display_mode) { case 0: uiface->setDisplayMode(NO_DISPLAY); break; case 1: uiface->setDisplayMode(SOURCE_DISPLAY); break; case 2: uiface->setDisplayMode(DEST_DISPLAY); break; } engine->setInterface(uiface); } TuioServer *server = NULL; FrameProcessor *fiducialfinder = NULL; FrameProcessor *thresholder = NULL; FrameProcessor *calibrator = NULL; for (int i=0;i<config.tuio_count;i++) { OscSender *sender = NULL; try { switch (config.tuio_type[i]) { case TUIO_UDP: sender = new UdpSender(config.tuio_host[i].c_str(),config.tuio_port[i]); break; case TUIO_TCP_CLIENT: sender = new TcpSender(config.tuio_host[i].c_str(),config.tuio_port[i]); break; case TUIO_TCP_HOST: sender = new TcpSender(config.tuio_port[i]); break; case TUIO_WEB: sender = new WebSockSender(config.tuio_port[i]); break; case TUIO_FLASH: sender = new FlashSender(); break; default: continue; } } catch (std::exception e) {} if (sender) { if(i==0) server = new TuioServer(sender); else server->addOscSender(sender); pv_sleep(1); } } server->setSourceName("rtv"); server->setInversion(config.invert_x, config.invert_y, config.invert_a); thresholder = new FrameThresholder(config.gradient_gate, config.tile_size, config.thread_count); if (config.background) thresholder->toggleFlag(KEY_SPACE,false); engine->addFrameProcessor(thresholder); fiducialfinder = new FidtrackFinder(server, &config); engine->addFrameProcessor(fiducialfinder); calibrator = new CalibrationEngine(config.grid_config); engine->addFrameProcessor(calibrator); engine->start(); engine->removeFrameProcessor(calibrator); delete calibrator; config.finger_size = ((FidtrackFinder*)fiducialfinder)->getFingerSize(); config.finger_sensitivity = ((FidtrackFinder*)fiducialfinder)->getFingerSensitivity(); config.max_blob_size = ((FidtrackFinder*)fiducialfinder)->getBlobSize(); config.object_blobs = ((FidtrackFinder*)fiducialfinder)->getFiducialBlob(); config.cursor_blobs = ((FidtrackFinder*)fiducialfinder)->getFingerBlob(); config.yamaarashi = ((FidtrackFinder*)fiducialfinder)->getYamaarashi(); engine->removeFrameProcessor(fiducialfinder); delete fiducialfinder; config.gradient_gate = ((FrameThresholder*)thresholder)->getGradientGate(); config.tile_size = ((FrameThresholder*)thresholder)->getTileSize(); config.background = ((FrameThresholder*)thresholder)->getEqualizerState(); engine->removeFrameProcessor(thresholder); delete thresholder; config.invert_x = server->getInvertXpos(); config.invert_y = server->getInvertYpos(); config.invert_a = server->getInvertAngle(); delete engine; delete server; writeSettings(&config); return 0; }