add: cline.next();
context: int main(int argc, char *argv[]){#ifdef NDEBUG  ecadebug->disable();#else  ecadebug->set_debug_level(ECA_DEBUG::info |			    ECA_DEBUG::module_flow);#endif  struct sigaction es_handler;  es_handler.sa_handler = signal_handler;  sigemptyset(&es_handler.sa_mask);  es_handler.sa_flags = 0;  es_handler.sa_restorer = 0;  sigaction(SIGTERM, &es_handler, 0);  sigaction(SIGINT, &es_handler, 0);  sigaction(SIGQUIT, &es_handler, 0);  sigaction(SIGABRT, &es_handler, 0);  COMMAND_LINE cline = COMMAND_LINE (argc, argv);  if (cline.size() < 2) {    print_usage();    return(1);  }  try {    string filename;    double multiplier;    EFFECT_ANALYZE* volume = 0;    EFFECT_AMPLIFY* amp = 0;    ecatools_normalize_tempfile = string(tmpnam(NULL));    ecatools_normalize_tempfile += ".wav";        ECA_SESSION esession;    ECA_CONTROLLER ectrl (&esession);    ECA_PROCESSOR emain;      ECA_AUDIO_FORMAT aio_params;    cline.begin();    while(cline.end() == false) {      filename = cline.current();      for(int m = 0;m < 2; m++) {	ectrl.add_chainsetup("default");	ectrl.add_chain("default");	if (m == 0) {	  cerr << "Analyzing file \"" << filename << "\".\n";	  ectrl.add_audio_input(filename);	  aio_params = ectrl.get_audio_format();	  ectrl.set_default_audio_format(&aio_params);	  ectrl.set_chainsetup_parameter("-sr:" + kvu_numtostr(aio_params.samples_per_second()));	  ectrl.add_audio_output(string(ecatools_normalize_tempfile));	  volume = new EFFECT_ANALYZE();	  ectrl.add_chain_operator((CHAIN_OPERATOR*)volume);	}	else {	  ectrl.add_audio_input(string(ecatools_normalize_tempfile));	  aio_params = ectrl.get_audio_format();	  ectrl.set_default_audio_format(&aio_params);	  ectrl.set_chainsetup_parameter("-sr:" + kvu_numtostr(aio_params.samples_per_second()));	  ectrl.add_audio_output(filename);	  	  amp = new EFFECT_AMPLIFY(multiplier * 100.0);	  ectrl.add_chain_operator((CHAIN_OPERATOR*)amp);	}	ectrl.connect_chainsetup();	if (ectrl.is_connected() == false) {	  cerr << "---\nError while processing file " << filename << ". Exiting...\n";	  break;	}	emain.init(&esession);	emain.exec();	if (m == 0) {	  multiplier = volume->max_multiplier();	  if (multiplier <= 1.0) {	    cerr << "File \"" << filename << "\" is already normalized.\n";	    ectrl.disconnect_chainsetup();	    ectrl.select_chainsetup("default");	    ectrl.remove_chainsetup();	    break;	  }	  else {	    cerr << "Normalizing file \"" << filename << "\" (amp-%: ";	    cerr << multiplier * 100.0 << ").\n";	  }	}	ectrl.disconnect_chainsetup();	ectrl.select_chainsetup("default");	ectrl.remove_chainsetup();      }      remove(ecatools_normalize_tempfile.c_str());      cline.next();    }  }  catch(ECA_ERROR* e) {    cerr << "---\nERROR: [" << e->error_section() << "] : \"" << e->error_msg() << "\"\n\n";  }  catch(...) {    cerr << "\nCaught an unknown exception.\n";  }  return(0);}