Esempio n. 1
0
int MmeDevice::command(int argc, const char*const* argv)
{
    Tcl& tcl = Tcl::instance();
    if (argc == 3) {
	if(strcmp(argv[1], "open") == 0) {
	    const char* fmt = argv[2];
	    TclObject* o = 0;
	    /* fprintf(stderr, "vic: Called MmeDevice::command with %s %s\n", 
		    argv[1],argv[2]); */
	    if (strcmp(fmt, "jpeg") == 0)
	      o = new MmeJpegGrabber;
	    else if (strcmp(fmt, "422") == 0)
	      o = new Mme422Grabber;
	    else if (strcmp(fmt, "420") == 0)
	      o = new Mme420Grabber;
	    else if (strcmp(fmt, "cif") == 0)
	      o = new MmeCIFGrabber;
	    if (o != 0) {
		Tcl::instance().result(o->name());
		return (TCL_OK);
	    }
	}
    }
    return (InputDevice::command(argc, argv));
}
Esempio n. 2
0
int XvDevice::command(int argc, const char*const* argv)
{
#if 0
	printf("XvDevice::command: %d: ", argc);
	for (int i=0; i<argc; i++)
		printf("%s ", argv[i]);
	printf("\n");
#endif
	Tcl& tcl = Tcl::instance();
	if (argc == 3) {
		if (strcmp(argv[1], "open") == 0) {
			if (strcmp(argv[2], "422") == 0) {
				TclObject* o = new XvGrabber;
				tcl.result(o->name());
			} else if (strcmp(argv[2], "cif") == 0) {
				TclObject* o = new XvCIFGrabber;
				tcl.result(o->name());
			}
			return (TCL_OK);
		}
	}
	return (InputDevice::command(argc, argv));
}
Esempio n. 3
0
int DirectShowDevice::command(int argc, const char* const* argv) {
   Tcl& tcl = Tcl::instance();
   if ((argc == 3) && (strcmp(argv[1], "open") == 0)) {
      TclObject* o = 0;
      if (strcmp(argv[2], "cif") == 0)
         o = directShowGrabber_ = new DirectShowCIFGrabber(directShowFilter_);                  
      else if (strcmp(argv[2], "422") == 0)         
         o = directShowGrabber_ = 0; // one day oughta be "new DirectShow422Grabber(directShowFilter_);"  // msp

      if (o != 0)
         Tcl::instance().result(o->name());
      return (TCL_OK);
   }
   return (InputDevice::command(argc, argv));
}
Esempio n. 4
0
int V4lDevice::command(int argc, const char *const *argv)
{
    Tcl & tcl = Tcl::instance();


    if (argc == 3) {
	if (strcmp(argv[1], "open") == 0) {
	    TclObject *o = 0;
	    o = new V4lGrabber(argv[2], dev_);
	    if (o != 0)
		tcl.result(o->name());
	    return (TCL_OK);
	}
    }
    return (InputDevice::command(argc, argv));
}