void YSE::CHANNEL::managerObject::setAuto(Int count) {
  switch (count) {
  case	1: setMono(); break;
  case	2: setStereo(); break;
  case	4: setQuad(); break;
  case	5: set51(); break;
  case	6: set51(); break;
  case	7: set61(); break;
  case  8: set71(); break;
  default: setStereo(); break;
  }
}
void YSE::CHANNEL::managerObject::changeChannelConf() {
  delete[] outputAngles;
  outputAngles = new aFlt[outputChannels.load()];
  switch (channelType.load()) {
    case CT_AUTO: setAuto(outputChannels); break;
    case CT_MONO: setMono(); break;
    case CT_STEREO: setStereo(); break;
    case CT_QUAD: setQuad(); break;
    case CT_51: set51(); break;
    case CT_51SIDE: set51Side(); break;
    case CT_61:	set61(); break;
    case CT_71:	set71(); break;
    case CT_CUSTOM: break; // we've set number of outputs. CT_CUSTOM expects the positions will be 
                           // set later
  }

  REVERB::Manager().setOutputChannels(outputChannels);
  
  for (auto i = inUse.begin(); i != inUse.end(); i++) {
    (*i)->setup();
  }
}
// open camera
bool IEEE1394Cam::Opens(bool stereo){
	setStereo(stereo);
	return Opens();
}