//void automation(int argc, char **argv) int automation(void ) { static char **argv; static int argc; static int cur; static int myargc; static three_arg_type three; static two_arg_type two; static int index; argv=global_argv; argc=global_argc; usleep(100000); // let gtk start GUI_Quiet(); printf("\n *** Automated : %d entries*************\n",NB_AUTO); // we need to process argc-=1; cur=1; myargc=argc; while(myargc>0) { if(( *argv[cur]!='-') || (*(argv[cur]+1)!='-')) { if(cur==1) { A_openAvi(argv[cur]); } else printf("\n Found garbage %s\n",argv[cur]); cur+=1;myargc-=1; continue; } // else it begins with -- index= searchReactionTable(argv[cur]+2); if(index==-1) // not found { printf("\n Unknown command :%s\n",argv[cur] ); cur+=1;myargc-=1; } else { printf("%s-->%d\n", reaction_table[index].string,reaction_table[index].have_arg); switch( reaction_table[index].have_arg) { case 3: three=( three_arg_type) reaction_table[index].callback; three( argv[cur+1],argv[cur+2],argv[cur+3]); printf("\n arg: %d index %d\n",myargc,index); break; case 2: two=( two_arg_type) reaction_table[index].callback; two( argv[cur+1],argv[cur+2]); break; case 1: reaction_table[index].callback(argv[cur+1]); break; case 0: reaction_table[index].callback(NULL); break; default: ADM_assert(0); break; } cur+=1+reaction_table[index].have_arg; myargc-=1+reaction_table[index].have_arg; } } // end while GUI_Verbose(); printf("\n ********** Automation ended***********\n"); return 0; }
/** * \fn automation * @return */ int automation(void ) { static char **argv; static int argc; static int cur; static int myargc; static int index; static three_arg_type three; static two_arg_type two; argc=global_argc; argv = global_argv; //the port change has to be done before the video load for( int runParaSearch=2 ; runParaSearch < argc ; ){ if(*argv[runParaSearch] == '-' && *(argv[runParaSearch]+1) == '-') { index = searchReactionTable(argv[runParaSearch]+2); if(index != -1) { if(!strcmp(avs_port_change, argv[runParaSearch] +2 )) { A_set_avisynth_port(argv[runParaSearch+1]); break; } runParaSearch += reaction_table[index].have_arg +1; } else runParaSearch += 1; } else runParaSearch += 1; } printf("\n *** Automated : %" PRIu32" entries*************\n",(uint32_t)NB_AUTO); // we need to process argc-=1; cur=1; myargc=argc; while(myargc>0) { if(( *argv[cur]!='-') || (*(argv[cur]+1)!='-')) { if(cur==1) { loadCB(argv[cur]); } else printf("\n Found garbage %s\n",argv[cur]); cur+=1;myargc-=1; continue; } // else it begins with -- if(!strcmp(argv[cur]+2,"portable")) // portable mode switch has been already taken care of, ignore { cur++; myargc--; continue; } index= searchReactionTable(argv[cur]+2); if(index==-1) // not found { printf("\n Unknown command :%s\n",argv[cur] ); cur+=1;myargc-=1; } else { printf("%s-->%d\n", reaction_table[index].string,reaction_table[index].have_arg); one_arg_type call=reaction_table[index].callback; switch( reaction_table[index].have_arg) { case 3: three=(three_arg_type)call; three( argv[cur+1],argv[cur+2],argv[cur+3]); break; case 2: two=(two_arg_type)call; two( argv[cur+1],argv[cur+2]); break; case 1: call(argv[cur+1]); break; case 0: call(NULL); break; default: ADM_assert(0); break; } cur+=1+reaction_table[index].have_arg; myargc-=1+reaction_table[index].have_arg; } } // end while GUI_Verbose(); printf("\n ********** Automation ended***********\n"); return 0; // Do not call me anymore }