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)); }
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)); }
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)); }
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)); }