rem: case ep_c_rewind: { change_position_chain(- item.second); break; } case ep_c_forward: { change_position_chain(item.second); break; } case ep_c_setpos: { set_position_chain(item.second); break; }
context: void ECA_ENGINE::interpret_queue(void) {  while(impl_repp->command_queue_rep.is_empty() != true) {    std::pair<int,double> item = impl_repp->command_queue_rep.front();//      cerr << "(eca-engine) ecasound_queue: cmds available; first one is "//  	 << item.first << "." << std::endl;    switch(item.first) {    // ---    // Basic commands.    // ---                case ep_exit:      {	while(impl_repp->command_queue_rep.is_empty() == false) impl_repp->command_queue_rep.pop_front();	ecadebug->msg(ECA_DEBUG::system_objects,"(eca-engine) ecasound_queue: exit!");	stop();	end_request_rep = true;	return;      }    case ep_start: { start(); break; }    case ep_stop: { stop(); break; }    // ---    // Section/chain (en/dis)abling commands.    // ---    case ep_c_select: {	csetup_repp->active_chain_index_rep = static_cast<size_t>(item.second); break; }    case ep_c_mute: { chain_muting(); break; }    case ep_c_bypass: { chain_processing(); break; }    case ep_c_rewind: { change_position_chain(- item.second); break; }    case ep_c_forward: { change_position_chain(item.second); break; }    case ep_c_setpos: { set_position_chain(item.second); break; }    // ---    // Chain operators    // ---    case ep_cop_select: {       csetup_repp->active_chainop_index_rep =  static_cast<size_t>(item.second);      if (csetup_repp->active_chainop_index_rep - 1 < static_cast<int>((*chains_repp)[csetup_repp->active_chain_index_rep]->number_of_chain_operators()))	(*chains_repp)[csetup_repp->active_chain_index_rep]->select_chain_operator(csetup_repp->active_chainop_index_rep);      else 	csetup_repp->active_chainop_index_rep = 0;      break;    }    case ep_copp_select: {       csetup_repp->active_chainop_param_index_rep = static_cast<size_t>(item.second);      (*chains_repp)[csetup_repp->active_chain_index_rep]->select_chain_operator_parameter(csetup_repp->active_chainop_param_index_rep);      break;    }    case ep_copp_value: {       assert(chains_repp != 0);      (*chains_repp)[csetup_repp->active_chain_index_rep]->set_parameter(item.second);      break;    }    // ---    // Global position    // ---    case ep_rewind: { change_position(- item.second); break; }    case ep_forward: { change_position(item.second); break; }    case ep_setpos: { set_position(item.second); break; }    }    impl_repp->command_queue_rep.pop_front();  }}