#include "AdnForme.h"
// Génère les fichiers c.jo et c.joa
void genereFichierJo(char c)
{

jo joc = mesjo[c-'a'];

  // Nom du fichier jo
  char nomfichierjo[32];
  snprintf(nomfichierjo, 32, "%c.jo", c);
  // Nom du fichier joa
  char nomfichierjoa[32];
  snprintf(nomfichierjoa, 32, "%c.joa", c);

  // Fichier jo
  FILE* fichierjo;
  if (!(fichierjo = fopen(nomfichierjo, "wb")))
   {
    exit(-1);
   }
  // Fichier joa
  FILE* fichierjoa;
  if (!(fichierjoa = fopen(nomfichierjoa, "wb")))
   {
    exit(-1);
   }



// génératrice du signal audio

// montée
    for(int laforcehbase = joc.laforceh; laforcehbase > 0; laforcehbase--)
     {
      for(int i=0; i<4; i++)
       {
        if(i%2)
         joc.amplitude[i] -= joc.changeamplitude[i];
        else
         joc.amplitude[i] += joc.changeamplitude[i];

         joc.dureefront[i] += joc.changedureefront[i];

          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[i], (char)joc.dureefront[i]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[i], (unsigned char)joc.dureefront[i]);
       }
     }



/****************descente**********/


    for(int laforcehbase = joc.laforceb; laforcehbase > 0; laforcehbase--)
     {


         joc.amplitude[0] -= joc.donnerspe[0];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[0], (char)joc.dureefront[0]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[0], (unsigned char)joc.dureefront[0]);
         joc.amplitude[1] += joc.donnerspe[0];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[1], (char)joc.dureefront[1]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[1], (unsigned char)joc.dureefront[1]);
         joc.amplitude[2] -= joc.donnerspe[1];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[2], (char)joc.dureefront[2]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[2], (unsigned char)joc.dureefront[2]);
         joc.amplitude[3] += joc.donnerspe[1];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[3], (char)joc.dureefront[3]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[3], (unsigned char)joc.dureefront[3]);

     }


/***fin descente****/





joc.dureefront[0] = joc.donnerspe[2];
joc.dureefront[0] = joc.donnerspe[3];
         joc.amplitude[2] = joc.amplitude[0];
         joc.amplitude[3] = joc.amplitude[1];

    for(int laforcehbase = joc.laforcec; laforcehbase > 0; laforcehbase--)
     {

         joc.dureefront[0] -= joc.donnerspe[4];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[0], (char)joc.dureefront[0]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[0], (unsigned char)joc.dureefront[0]);
         joc.dureefront[1] -= joc.donnerspe[4];
          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[1], (char)joc.dureefront[1]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[1], (unsigned char)joc.dureefront[1]);

          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[2], (char)joc.dureefront[2]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[2], (unsigned char)joc.dureefront[2]);

          fprintf(fichierjo,  "%c%c",    (char)joc.amplitude[3], (char)joc.dureefront[3]);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)joc.amplitude[3], (unsigned char)joc.dureefront[3]);

     }



    // Écriture des zones mémoires
    for(int zonememoire = joc.combiendezonememoire; zonememoire > 0 ; zonememoire--)
     {
      fprintf(fichierjo,  "%c%c", 130, 250);
      fprintf(fichierjoa, "%d %d\n", 130, 250);
      fprintf(fichierjo,  "%c%c", 128, 250);
      fprintf(fichierjoa, "%d %d\n", 128, 250);
   }


  fclose(fichierjo);
  fclose(fichierjoa);
}
