コード例 #1
0
ファイル: opencv_menu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_new_cascade )
{
	const char * s;
	const char *cascade_name;
	OpenCV_Cascade *casc_p;

	s=NAMEOF("classifier cascade");
	cascade_name = NAMEOF("classifier specification file");

	casc_p = ocv_ccasc_of(QSP_ARG  s);
	if( casc_p != NO_CASCADE ){
		sprintf(ERROR_STRING,"Classifier cascade %s already exists!?",s);
		WARN(ERROR_STRING);
		return;
	}

	casc_p = new_ocv_ccasc(QSP_ARG  s);
	if( casc_p == NO_CASCADE ){
		sprintf(ERROR_STRING,"Error creating classifier cascade %s",s);
		WARN(ERROR_STRING);
		return;
	}

	casc_p->ocv_cascade = (CvHaarClassifierCascade*)cvLoad(cascade_name, 0,0,0);
	if(casc_p->ocv_cascade == NULL) {
		sprintf(ERROR_STRING,"Error loading cascade from file %s",cascade_name);
		WARN(ERROR_STRING);
		return;
		/* BUG release struct here */
	}
}
コード例 #2
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( do_tellprec )
{
	Data_Obj *dp;
	const char *s;

	dp = get_obj( QSP_ARG NAMEOF("data object") );
	s = NAMEOF("variable name");
	if( dp == NULL ) return;
	assign_var(s,OBJ_PREC_NAME(dp));
}
コード例 #3
0
ファイル: settings.c プロジェクト: baloo79/uTox
static void parse_notifications_section(UTOX_SAVE *config, const char* key, const char* value) {
    if (MATCH(NAMEOF(config->audible_notifications_enabled), key)) {
        config->audible_notifications_enabled = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->status_notifications), key)) {
        config->status_notifications = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->no_typing_notifications), key)) {
        config->no_typing_notifications = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->group_notifications), key)) {
        config->group_notifications = atoi(value);
    }
}
コード例 #4
0
ファイル: settings.c プロジェクト: baloo79/uTox
static void parse_general_section(UTOX_SAVE *config, const char* key, const char* value) {
    if (MATCH(NAMEOF(config->save_version), key)) {
        config->save_version = atoi(value);
    } else if (MATCH(NAMEOF(config->utox_last_version), key)) {
        config->utox_last_version = atoi(value);
    } else if (MATCH(NAMEOF(config->send_version), key)) {
        config->send_version = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->update_to_develop), key)) {
        config->update_to_develop = STR_TO_BOOL(value);
    }
}
コード例 #5
0
ファイル: seqmenu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_def_seq )
{
	const char *s;
	char nmbuf[LLEN];

	s = NAMEOF("sequence name");
	strcpy(nmbuf,s);
	s=NAMEOF("sequence (quote if includes spaces)");

	if( defseq(QSP_ARG  nmbuf,s) == NO_SEQ )
		WARN("couldn't create new sequence");
}
コード例 #6
0
ファイル: settings.c プロジェクト: baloo79/uTox
static void parse_av_section(UTOX_SAVE *config, const char* key, const char* value) {
    if (MATCH(NAMEOF(config->push_to_talk), key)) {
        config->push_to_talk = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->audio_filtering_enabled), key)) {
        config->audio_filtering_enabled = STR_TO_BOOL(value);
    } else if (MATCH(NAMEOF(config->audio_device_in), key)) {
        config->audio_device_in = atoi(value);
    } else if (MATCH(NAMEOF(config->audio_device_out), key)) {
        config->audio_device_out = atoi(value);
    } else if (MATCH(NAMEOF(config->video_fps), key)) {
        config->video_fps = atoi(value);
    }
}
コード例 #7
0
ファイル: glmenu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( set_poly_mode )
{

#ifdef FOOBAR
	char *face = NAMEOF("face");
	char *mode = NAMEOF("polygon mode");
	if((strcmp(face,"frontNback"))&&(strcmp(face,"front"))&&(strcmp(face,"back"))){
		advise("Valid types of faces are:	'frontNback'	'front'	'back'");
		return;
	}

	if((strcmp(mode,"point"))&&(strcmp(mode,"line"))&&(strcmp(mode,"fill"))){
		advise("Valid types of modes are:	'point'	'line'	'fill'");
		return;
	}

	if( debug & gl_debug ) advise("glPolygonMode");
	/* could be more elegant ... */
	if (!((strcmp(face, "frontNback"))||(strcmp(mode, "point"))))
		glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
	if (!((strcmp(face, "frontNback"))||(strcmp(mode, "line"))))
		glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
	if (!((strcmp(face, "frontNback"))||(strcmp(mode, "fill"))))
		glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
	if((!strcmp(face, "front"))&&(!strcmp(mode, "point")))
		glPolygonMode(GL_FRONT, GL_POINT);
	if((!strcmp(face, "front"))&&(!strcmp(mode, "line")))
		glPolygonMode(GL_FRONT, GL_LINE);
	if((!strcmp(face, "front"))&&(!strcmp(mode, "fill")))
		glPolygonMode(GL_FRONT, GL_FILL);
	if((!strcmp(face, "back"))&&(!strcmp(mode, "point")))
		glPolygonMode(GL_BACK, GL_POINT);
	if((!strcmp(face, "back"))&&(!strcmp(mode, "line")))
		glPolygonMode(GL_BACK, GL_LINE);
	if((!strcmp(face, "back"))&&(!strcmp(mode, "fill")))
		glPolygonMode(GL_BACK, GL_FILL);
#endif /* FOOBAR */

	GLenum face_dir;
	GLenum polygon_mode;

	face_dir = CHOOSE_FACING_DIR("faces to render");
	polygon_mode = CHOOSE_POLYGON_MODE("rendering mode for polygons");

	if( face_dir == INVALID_CONSTANT || polygon_mode == INVALID_CONSTANT )
		return;

	if( debug & gl_debug ) advise("glPolygonMode");

	glPolygonMode(face_dir,polygon_mode);
}
コード例 #8
0
ファイル: opencv_menu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_load_img )
{
	const char *object_name;
	const char *filename;
	long is_color;
	OpenCV_Image *ocvi_p;

	object_name=NAMEOF("object name");
	filename=NAMEOF("image filename");
	is_color=HOW_MANY("is color? (boolean)");
	ocvi_p = load_ocv_image(QSP_ARG  object_name, filename);

	if( ocvi_p == NULL ) WARN("Error loading openCV image!?");
}
コード例 #9
0
ファイル: canmenu.c プロジェクト: E-LLP/QuIP
static Viewer * mk_new_viewer(QSP_ARG_DECL int viewer_type)
{
	const char *s;
	char name[256];
	int dx,dy;
	Viewer *vp;

	s=NAMEOF("viewer name");
	strcpy(name,s);
	dx=(int)HOW_MANY("width");
	dy=(int)HOW_MANY("height");
	if( viewer_name_in_use(QSP_ARG name) ) return NO_VIEWER;
	if( dx <= 0 || dy <= 0 ){
		WARN("viewer sizes must be positive");
		return NO_VIEWER;
	}
	vp = viewer_init(QSP_ARG  name,dx,dy,viewer_type);

	if( vp == NO_VIEWER ) return NO_VIEWER;
#ifdef HAVE_X11
	default_cmap(QSP_ARG  VW_DPYABLE(vp) );
#endif /* HAVE_X11 */
#ifndef BUILD_FOR_IOS
	/* default state is to be shown,
	 * but in IOS we can only see one at a time, so
	 * we leave them on the bottom until we ask.
	 */
	show_viewer(QSP_ARG  vp);
#endif /* ! BUILD_FOR_IOS */
	select_viewer(QSP_ARG  vp);
	return vp;
}
コード例 #10
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( mkcast )
{
	const char *obj_name;
	Data_Obj *dp, *newdp;
	long rows, cols, tdim;
	long xos, yos;

	obj_name=NAMEOF("name for cast");

	dp=pick_obj(PARENT_PROMPT);
	if( dp==NULL ) return;

	cols=(long) how_many("number of columns");
	rows=(long) how_many("number of rows");
	xos=(long) how_many("x offset");
	yos=(long) how_many("y offset");
	tdim=(long) how_many("type dimension");

	INSIST_POSITIVE_DIM(cols,"column","mkcast")
	INSIST_POSITIVE_DIM(rows,"row","mkcast")
	INSIST_POSITIVE_DIM(tdim,"component","mkcast")

	INSIST_NONNEGATIVE(xos,"x offset","mkcast")
	INSIST_NONNEGATIVE(yos,"y offset","mkcast")

	newdp=nmk_subimg(dp,(index_t)xos,(index_t)yos,obj_name,(dimension_t)rows,(dimension_t)cols,(dimension_t)tdim);
	if( newdp == NULL )
		warn("couldn't create subimage");
}
コード例 #11
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( new_obj_list )
{
	int n;
	const char *s;
	List *lp;
	Node *np;

	s=NAMEOF("object name");

	n=how_many("number of objects in this list");
	lp=new_list();
	while(n--){
		Data_Obj *dp;

		dp = pick_obj("");
		if( dp != NULL ){
			np=mk_node(dp);
			addTail(lp,np);
		}
	}

	if( make_obj_list(s,lp) == NULL ){
		sprintf(ERROR_STRING,"error making object list %s");
		warn(ERROR_STRING);
	}
}
コード例 #12
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( new_frame )
{
	Dimension_Set ds1;
	Dimension_Set *dsp=(&ds1);
	const char *obj_name;
	long nr, nc, ncomps;
	Precision *prec_p;

	obj_name=NAMEOF("object name");

	nr = (long) how_many("number of rows");
	nc = (long) how_many("number of columns");
	ncomps = (long) how_many("number of components");

	prec_p = get_precision(SINGLE_QSP_ARG);

	if( prec_p == NULL ) return;
	INSIST_POSITIVE_DIM(nr,"row","new_frame");
	INSIST_POSITIVE_DIM(nc,"column","new_frame");
	INSIST_POSITIVE_DIM(ncomps,"component","new_frame");

	SET_DIMENSION(dsp,4,1);
	SET_DIMENSION(dsp,3,1);
	SET_DIMENSION(dsp,2,nr);
	SET_DIMENSION(dsp,1,nc);
	SET_DIMENSION(dsp,0,ncomps);

	finish_obj(obj_name,dsp,prec_p,DT_IMAGE);
}
コード例 #13
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( new_hyperseq )
{
	Dimension_Set ds1, *dsp=(&ds1);
	const char *obj_name;
	long ns, nf, nr, nc, ncomps;
	Precision *prec_p;

	obj_name=NAMEOF("object name");

	ns = (long) how_many("number of sequences");
	nf = (long) how_many("number of frames");
	nr = (long) how_many("number of rows");
	nc = (long) how_many("number of columns");
	ncomps = (long) how_many("number of components");
	prec_p = get_precision(SINGLE_QSP_ARG);

	if( prec_p == NULL ) return;

	INSIST_POSITIVE_DIM(ns,"sequence","new_hyperseq");

	SET_DIMENSION(dsp,4,ns);
	SET_DIMENSION(dsp,3,nf);
	SET_DIMENSION(dsp,2,nr);
	SET_DIMENSION(dsp,1,nc);
	SET_DIMENSION(dsp,0,ncomps);

	finish_obj(obj_name,dsp,prec_p,DT_HYPER_SEQ);
}
コード例 #14
0
ファイル: plotmenu.c プロジェクト: RyanHun/QuIP
static COMMAND_FUNC( do_plot_string )
{
    const char *s;

    s=NAMEOF("string");
    xp_text(s);
}
コード例 #15
0
ファイル: pgr.c プロジェクト: jbmulligan/quip
int pick_framerate(QSP_ARG_DECL  PGR_Cam *pgcp,const char *pmpt)
{
	int i;
	int j;
	dc1394framerates_t	framerates;
	const char **choices;
	const char *s;

	if( pgcp == NULL ) return -1;

	// format7 doesn't have a framerate!?
	if( mode_is_format7(pgcp) ){
		WARN("Can't specify framerate for format7 video mode...");
		// eat the argument
		s = NAMEOF("dummy argument");
		return -1;
	}

	if ( dc1394_video_get_supported_framerates( pgcp->pc_cam_p, pgcp->pc_video_mode, &framerates )
			!= DC1394_SUCCESS )
		return -1;

	choices = (const char **) getbuf( framerates.num * sizeof(char *) );
	j=0;
	for(i=0;i<framerates.num;i++){
		s=name_for_framerate(framerates.framerates[i]);
		if( s != NULL ){
			choices[j] = s;
			j++;
		}
	}
	i=WHICH_ONE(pmpt,j,choices);
	givbuf(choices);
	return(i);
}
コード例 #16
0
ファイル: ascmenu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_set_in_fmt )
{
	const char *s;

	s=NAMEOF("input line format string");
	set_input_format_string(QSP_ARG  s);
}
コード例 #17
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( new_col )
{
	Dimension_Set ds1, *dsp=(&ds1);
	const char *obj_name;
	long nr, ncomps;
	Precision *prec_p;

	obj_name=NAMEOF("object name");

	nr = (long) how_many("number of elements");
	ncomps = (long) how_many("number of components");

	prec_p = get_precision(SINGLE_QSP_ARG);

	if( prec_p == NULL ) return;
	INSIST_POSITIVE_DIM(nr,"element","new_col")
	INSIST_POSITIVE_DIM(ncomps,"component","new_col")

	SET_DIMENSION(dsp,4,1);
	SET_DIMENSION(dsp,3,1);
	SET_DIMENSION(dsp,2,nr);
	SET_DIMENSION(dsp,1,1);
	SET_DIMENSION(dsp,0,ncomps);

	finish_obj(obj_name,dsp,prec_p,DT_COLVEC);
}
コード例 #18
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( mksubvector )
{
	const char *obj_name;
	Data_Obj *dp, *newdp;
	dimension_t rows;
	index_t yos;
	long cols;
	long xos;

	obj_name=NAMEOF("name for subvector");

	dp=pick_obj(PARENT_PROMPT);

	cols=(long) how_many("number of elements");
	rows=1;

	xos=(index_t)how_many("offset");
	yos=0;

	if( dp==NULL ) return;

	INSIST_POSITIVE_DIM(cols,"element","mksubvector")
	INSIST_NONNEGATIVE(xos,"x offset","mksubvector")

	newdp=mk_subimg(dp,(index_t)xos,yos,obj_name,rows,(dimension_t)cols);
	if( newdp == NULL )
		warn("couldn't create subvector");
}
コード例 #19
0
ファイル: ascmenu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_read_obj )
{
	Data_Obj *dp;
	FILE *fp;
	const char *s;

	dp=PICK_OBJ("");
	s=NAMEOF("input file");

	if( dp == NO_OBJ ) return;

#ifdef QUIP_DEBUG
//if( debug ) dptrace(dp);
#endif /* QUIP_DEBUG */

	// reading is tricker for non-ram, because
	// we must create the copy, then read into
	// the copy, then xfer to the device...

	INSIST_RAM_OBJ(dp,"do_read_obj")

	if( strcmp(s,"-") && strcmp(s,"stdin") ){
		fp=TRY_OPEN( s, "r" );
		if( !fp ) return;

		read_ascii_data(QSP_ARG  dp,fp,s,expect_exact_count);
	} else {
		/* read from stdin, no problem... */

		read_obj(QSP_ARG  dp);
	}
}
コード例 #20
0
ファイル: lookmenu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_xv_xform )
{
	const char *s;

	s=NAMEOF("dm expression string for x-value transformation");
	set_xval_xform(s);
}
コード例 #21
0
ファイル: fio_menu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_set_iofdir )
{
	const char *s;

	s=NAMEOF("directory for image/data files");
	set_iofile_directory(QSP_ARG  s);
}
コード例 #22
0
ファイル: fio_menu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_read_image_file )	/** open file for reading */
{
	char prompt[256];
	const char *s;
	Image_File *ifp;
	Filetype *ftp;

	ftp = current_filetype();
	sprintf(prompt,"input %s file",FT_NAME(ftp));
	s = NAMEOF(prompt);

	if( s == NULL || *s == 0 ){
		WARN("Null filename!?");
		return;
	}

	ifp = img_file_of(QSP_ARG  s);
	if( ifp != NO_IMAGE_FILE ){
		sprintf(ERROR_STRING,"do_read_image_file:  file %s is already open",ifp->if_name);
		WARN(ERROR_STRING);
		return;
	}

	if(  read_image_file(QSP_ARG  s) == NO_IMAGE_FILE )
		WARN("error reading image file");
}
コード例 #23
0
ファイル: opencv_menu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_convert_color )
{
	OpenCV_Image *src, *dst;
	const char * s;

	dst = PICK_OCVI("destination image");
	src = PICK_OCVI("source image");
	s = NAMEOF("OpenCV conversion code");

	if( dst == NO_OPENCV_IMAGE || src == NO_OPENCV_IMAGE ) return;

	int code;
	if (strcmp(s, "CV_RGB2GRAY") == 0) {
		code = CV_RGB2GRAY;
	} else if (strcmp(s, "CV_GRAY2RGB") == 0) {
		code = CV_GRAY2RGB;
	} else if (strcmp(s, "CV_BGR2GRAY") == 0) {
		code = CV_BGR2GRAY;
	} else if (strcmp(s, "CV_GRAY2BGR") == 0) {
		code = CV_GRAY2BGR;
	} else {
		code = -1;
		sprintf(ERROR_STRING,"Error (do_convert_color): No such OpenCV conversion code: %s\n",s);
		//WARN(ERROR_STRING);
		return;
	}
	cvCvtColor(src->ocv_image, dst->ocv_image, code);
}
コード例 #24
0
ファイル: param.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_prm_wt )
{
	FILE *fp;
	fp=TRYNICE(NAMEOF(pfstr),"w");
	if( fp== NULL ) return;
	wtprms(QSP_ARG  fp,theptbl);
}
コード例 #25
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( equivalence )
{
	const char *obj_name;
	Data_Obj *dp;
	Precision * prec_p;
	Dimension_Set ds1, *dsp=(&ds1);
	long ns,nf,nr,nc,nd;

	obj_name=NAMEOF("name for equivalent image");

	dp=pick_obj(PARENT_PROMPT);

	ns=(long) how_many("number of sequences");
	nf=(long) how_many("number of frames");
	nr=(long) how_many("number of rows");
	nc=(long) how_many("number of columns");
	nd=(long) how_many("number of components");

	prec_p = get_precision(SINGLE_QSP_ARG);

	if( dp==NULL ) return;
	if( prec_p == NULL ) return;

	INSIST_POSITIVE_DIM(ns,"sequence","equivalence")
	INSIST_POSITIVE_DIM(nf,"frame","equivalence")
	INSIST_POSITIVE_DIM(nr,"row","equivalence")
	INSIST_POSITIVE_DIM(nc,"column","equivalence")
	INSIST_POSITIVE_DIM(nd,"component","equivalence")

	SET_DIMENSION(dsp,4,ns);
	SET_DIMENSION(dsp,3,nf);
	SET_DIMENSION(dsp,2,nr);
	SET_DIMENSION(dsp,1,nc);
	SET_DIMENSION(dsp,0,nd);

	if( COMPLEX_PRECISION(PREC_CODE(prec_p)) ){
		if( DIMENSION(dsp,0) != 1 ){
			warn("Sorry, can only have 1 complex component");
			return;
		}
		//SET_DIMENSION(dsp,0,2);
	} else if( QUAT_PRECISION(PREC_CODE(prec_p)) ){
		if( DIMENSION(dsp,0) != 1 ){
			warn("Sorry, can only have 1 quaternion component");
			return;
		}
		//SET_DIMENSION(dsp,0,2);
	} else if( COLOR_PRECISION(PREC_CODE(prec_p)) ){
		if( DIMENSION(dsp,0) != 1 ){
			warn("Sorry, can only have 1 color triple per pixel");
			return;
		}
advise("component dim 3 for color");
		//SET_DIMENSION(dsp,0,3);
	}

	if( make_equivalence(obj_name,dp,dsp,prec_p) == NULL )
		warn("error making equivalence");
}
コード例 #26
0
ファイル: lutmenu.c プロジェクト: E-LLP/QuIP
static COMMAND_FUNC( do_newlut )
{
	const char *name;

	name = NAMEOF("Name of new colormap");
	if( new_colormap(QSP_ARG  name) == NO_OBJ )
		WARN("error making new colormap");
}
コード例 #27
0
ファイル: plotmenu.c プロジェクト: RyanHun/QuIP
static COMMAND_FUNC( do_rdplot )
{
    FILE *fp;

    fp=TRY_OPEN( NAMEOF("filename"), "r") ;
    if( !fp ) return;
    rdplot(QSP_ARG  fp);
}
コード例 #28
0
ファイル: oostruct.c プロジェクト: barak/lush
static const char *generic_name(at *p)
{
   if (Class(p)->classname)
      sprintf(string_buffer, "::%s:%p", NAMEOF(Class(p)->classname),Mptr(p));
   else
      sprintf(string_buffer, "::%p:%p", Class(p), Mptr(p));
   
   return mm_strdup(string_buffer);
}
コード例 #29
0
ファイル: serial.c プロジェクト: jbmulligan/quip
static COMMAND_FUNC( do_open )
{
	const char *s;

	s=NAMEOF("device file");

	if( open_serial_device(s) < 0 )
		warn("Error opening serial device");
}
コード例 #30
0
ファイル: dobj_menu.c プロジェクト: nasa/QuIP
static COMMAND_FUNC( do_ilace )
{
	const char *obj_name;
	Data_Obj *dp, *newdp;
	int parity;

	obj_name=NAMEOF("name for subimage");

	dp=get_img( QSP_ARG  NAMEOF("name of parent image") );
	if( dp==NULL ) return;

	parity=WHICH_ONE("parity of selected lines",2,parlist);
	if( parity < 0 ) return;

	newdp=mk_ilace(dp,obj_name,parity);
	if( newdp == NULL )
		warn("couldn't create interlaced subimage");
}