/* This function saves "internal format" variables into
   LibSIDPlay's internal state (emuConfig).
   OBSOLETE!
 */
void internal_to_sidplay(void)
{
#ifndef OLD_AND_OBSOLETE_STRUCTS

#ifdef DEBUG
#endif
  cout << "SID: Used obsolete function internal_to_sidplay. Ignored..."
       << endl;
#else

#ifdef DEBUG
  cout << "SID: Data shifted from internal to sidplay." << endl;
#endif

  // bits per sample
  if(sidplugin_config.bitsPerSample == 8) {
    myEmuConfig.bitsPerSample = SIDEMU_8BIT;
  } else {
    myEmuConfig.bitsPerSample = SIDEMU_16BIT;
  }

  // mixing frequency
  myEmuConfig.frequency = sidplugin_config.mixingFrequency;

  // output mode

  switch(sidplugin_config.outMode) {
  case sidMono:
  default:
    myEmuConfig.channels = SIDEMU_MONO;
    myEmuConfig.volumeControl = SIDEMU_NONE;
    break;
  case sidStereo:
    myEmuConfig.channels = SIDEMU_STEREO;
    myEmuConfig.volumeControl = SIDEMU_NONE;
    break;
  case sidStereoSurround:
    myEmuConfig.channels = SIDEMU_STEREO;
    myEmuConfig.volumeControl = SIDEMU_STEREOSURROUND;
    break;
  }

  if(sidplugin_config.centeredAutoPan) {
    myEmuConfig.autoPanning = SIDEMU_CENTEREDAUTOPANNING;
  } else {
    myEmuConfig.autoPanning = SIDEMU_NONE;
  }

  if(sidplugin_config.sidModel == sidMOS6581) {
    myEmuConfig.mos8580 = FALSE;
  } else {
    myEmuConfig.mos8580 = TRUE;
  }

  if(sidplugin_config.clockSpeed = PAL) {
    myEmuConfig.clockSpeed = SIDTUNE_CLOCK_PAL;
  } else {
    myEmuConfig.clockSpeed = SIDTUNE_CLOCK_NTSC;
  }

  if(sidplugin_config.playSidComp) {
    myEmuConfig.memoryMode = MPU_PLAYSID_ENVIRONMENT;
  } else {
    myEmuConfig.memoryMode = MPU_BANK_SWITCHING;
  }

  if(sidplugin_config.filterEmulation) {
    myEmuConfig.emulateFilter = TRUE;
  } else {
    myEmuConfig.emulateFilter = FALSE;
  }

  if(sidplugin_config.forceSongSpeedClockSpeed) {
    myEmuConfig.forceSongSpeed = TRUE;
  } else {
    myEmuConfig.forceSongSpeed = FALSE;
  }
#endif // OLD_AND_OBSOLETE...
}




/*
  Reverse of internal_to_sidplay().
  OBSOLETE!
 */
void sidplay_to_internal(void)
{
#ifndef OLD_AND_OBSOLETE_STRUCTS

#ifdef DEBUG
#endif
  cout << "SID: Used obsolete function sidplay_to_internal. Ignored..."
       << endl;
#else

#ifdef DEBUG
  cout << "SID: Data switched from sidplay to internal." << endl;
#endif

  if(myEmuConfig.bitsPerSample == SIDEMU_8BIT) {
    sidplugin_config.bitsPerSample == 8;
  } else {
    sidplugin_config.bitsPerSample == 16;
  }

  // mixing frequency
  sidplugin_config.mixingFrequency = myEmuConfig.frequency;

  // output mode

  if(myEmuConfig.channels == SIDEMU_MONO) {
    sidplugin_config.outMode = sidMono;
  } else
    if(myEmuConfig.volumeControl == SIDEMU_STEREOSURROUND) {
      sidplugin_config.outMode = sidStereoSurround;
    } else {
      sidplugin_config.outMode = sidStereo;
    }

  if(myEmuConfig.autoPanning == SIDEMU_CENTEREDAUTOPANNING) {
    sidplugin_config.centeredAutoPan = TRUE;
  } else {
    sidplugin_config.centeredAutoPan = FALSE;
  }

  if(myEmuConfig.mos8580 == FALSE) {
    sidplugin_config.sidModel = sidMOS6581;
  } else {
    sidplugin_config.sidModel = sidMOS8580;
  }

  if(myEmuConfig.clockSpeed == SIDTUNE_CLOCK_PAL) {
    sidplugin_config.clockSpeed = PAL;
  } else {
    sidplugin_config.clockSpeed = NTSC;
  }

  if(myEmuConfig.memoryMode == MPU_PLAYSID_ENVIRONMENT) {
    sidplugin_config.playSidComp = TRUE;
  } else {
    sidplugin_config.playSidComp = FALSE;
  }

  if(myEmuConfig.emulateFilter == TRUE) {
    sidplugin_config.filterEmulation = TRUE;
  } else {
    sidplugin_config.filterEmulation = FALSE;
  }

  if(myEmuConfig.forceSongSpeed == TRUE) {
    sidplugin_config.forceSongSpeedClockSpeed = TRUE;
  } else {
    sidplugin_config.forceSongSpeedClockSpeed = FALSE;
  }
#endif // OLD_AND_OBSOLETE...
}



/////////////////////////////////////////////////////////
// From header

struct pluginconfig {
  // struct emuConfig emu_config;
  int fragments; /* = 16 */
  int fragSizeBase; /* = 12 */

  /*
  // These will be converted to emuConfig structure.
  // (No longer. This whole thing is OBSOLETE! DO YOU HEAR ME! OBSOLETE!
  gshort bitsPerSample;
  gint mixingFrequency;
  sidOutMode outMode;
  gboolean centeredAutoPan;

  sidCS clockSpeed;
  gboolean playSidComp;
  gboolean filterEmulation;
  gboolean forceSongSpeedClockSpeed;
  sidMdl sidModel;
  */
};


