#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);
   }
/*
int amplibase[4];
      for(int i=0; i<6; i++)
       {amplibase[i] = joc.changeamplitude[i];}

          fprintf(fichierjo,  "%c%c",    (char)31, (char)24);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)31, (unsigned char)24);

          fprintf(fichierjo,  "%c%c",    (char)231, (char)24);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)231, (unsigned char)24);*//*
	
          fprintf(fichierjo,  "%c%c",    (char)131, (char)14);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)131, (unsigned char)14);
	
          fprintf(fichierjo,  "%c%c",    (char)109, (char)30);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)109, (unsigned char)30);
	
          fprintf(fichierjo,  "%c%c",    (char)143, (char)78);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)143, (unsigned char)78);
	
          fprintf(fichierjo,  "%c%c",    (char)102, (char)58);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)102, (unsigned char)58);
	
          fprintf(fichierjo,  "%c%c",    (char)158, (char)106);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)158, (unsigned char)106);
	
          fprintf(fichierjo,  "%c%c",    (char)110, (char)52);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)110, (unsigned char)52);
	
          fprintf(fichierjo,  "%c%c",    (char)123, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)123, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)119, (char)13);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)119, (unsigned char)13);
	
          fprintf(fichierjo,  "%c%c",    (char)136, (char)19);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)136, (unsigned char)19);
	
          fprintf(fichierjo,  "%c%c",    (char)102, (char)24);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)102, (unsigned char)24);
	
          fprintf(fichierjo,  "%c%c",    (char)164, (char)96);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)164, (unsigned char)96);
	
          fprintf(fichierjo,  "%c%c",    (char)101, (char)46);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)101, (unsigned char)46);
	
          fprintf(fichierjo,  "%c%c",    (char)145, (char)44);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)145, (unsigned char)44);
	
          fprintf(fichierjo,  "%c%c",    (char)94, (char)45);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)94, (unsigned char)45);
	
          fprintf(fichierjo,  "%c%c",    (char)129, (char)26);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)129, (unsigned char)26);
	
          fprintf(fichierjo,  "%c%c",    (char)123, (char)10);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)123, (unsigned char)10);
	
          fprintf(fichierjo,  "%c%c",    (char)157, (char)25);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)157, (unsigned char)25);
	
          fprintf(fichierjo,  "%c%c",    (char)153, (char)10);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)153, (unsigned char)10);
	
          fprintf(fichierjo,  "%c%c",    (char)181, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)181, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)93, (char)28);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)93, (unsigned char)28);
	
          fprintf(fichierjo,  "%c%c",    (char)164, (char)50);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)164, (unsigned char)50);
	
          fprintf(fichierjo,  "%c%c",    (char)82, (char)42);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)82, (unsigned char)42);
	
          fprintf(fichierjo,  "%c%c",    (char)136, (char)30);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)136, (unsigned char)30);
	
          fprintf(fichierjo,  "%c%c",    (char)115, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)115, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)193, (char)51);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)193, (unsigned char)51);
	
          fprintf(fichierjo,  "%c%c",    (char)70, (char)27);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)70, (unsigned char)27);
	
          fprintf(fichierjo,  "%c%c",    (char)129, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)129, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)126, (char)7);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)126, (unsigned char)7);
	
          fprintf(fichierjo,  "%c%c",    (char)177, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)177, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)66, (char)25);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)66, (unsigned char)25);
	
          fprintf(fichierjo,  "%c%c",    (char)155, (char)44);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)155, (unsigned char)44);
	
          fprintf(fichierjo,  "%c%c",    (char)99, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)99, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)160, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)160, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)155, (char)8);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)155, (unsigned char)8);
	
          fprintf(fichierjo,  "%c%c",    (char)206, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)206, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)51, (char)24);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)51, (unsigned char)24);
	
          fprintf(fichierjo,  "%c%c",    (char)140, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)140, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)129, (char)10);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)129, (unsigned char)10);
	
          fprintf(fichierjo,  "%c%c",    (char)188, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)188, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)51, (char)23);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)51, (unsigned char)23);
	
          fprintf(fichierjo,  "%c%c",    (char)162, (char)44);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)162, (unsigned char)44);
	
          fprintf(fichierjo,  "%c%c",    (char)85, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)85, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)156, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)156, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
	
          fprintf(fichierjo,  "%c%c",    (char)210, (char)19);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)210, (unsigned char)19);
	
          fprintf(fichierjo,  "%c%c",    (char)43, (char)23);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)43, (unsigned char)23);
	
          fprintf(fichierjo,  "%c%c",    (char)149, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)137, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)137, (unsigned char)9);
	
          fprintf(fichierjo,  "%c%c",    (char)191, (char)17);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)191, (unsigned char)17);
	
          fprintf(fichierjo,  "%c%c",    (char)47, (char)24);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)47, (unsigned char)24);
	
          fprintf(fichierjo,  "%c%c",    (char)161, (char)43);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)161, (unsigned char)43);
	
          fprintf(fichierjo,  "%c%c",    (char)81, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)81, (unsigned char)9);
	
          fprintf(fichierjo,  "%c%c",    (char)154, (char)23);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)154, (unsigned char)23);
	
          fprintf(fichierjo,  "%c%c",    (char)152, (char)6);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)6);
	
          fprintf(fichierjo,  "%c%c",    (char)208, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)208, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)38, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)38, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)163, (char)21);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)163, (unsigned char)21);
	
          fprintf(fichierjo,  "%c%c",    (char)141, (char)12);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)141, (unsigned char)12);
	
          fprintf(fichierjo,  "%c%c",    (char)191, (char)16);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)191, (unsigned char)16);
	
          fprintf(fichierjo,  "%c%c",    (char)47, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)47, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)127, (char)21);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)127, (unsigned char)21);
	
          fprintf(fichierjo,  "%c%c",    (char)122, (char)7);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)122, (unsigned char)7);
	
          fprintf(fichierjo,  "%c%c",    (char)158, (char)16);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)158, (unsigned char)16);
	
          fprintf(fichierjo,  "%c%c",    (char)76, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)76, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)160, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)160, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)153, (char)10);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)153, (unsigned char)10);
	
          fprintf(fichierjo,  "%c%c",    (char)202, (char)15);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)202, (unsigned char)15);
	
          fprintf(fichierjo,  "%c%c",    (char)30, (char)22);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)30, (unsigned char)22);
	
          fprintf(fichierjo,  "%c%c",    (char)176, (char)20);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)176, (unsigned char)20);
	
          fprintf(fichierjo,  "%c%c",    (char)135, (char)14);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)135, (unsigned char)14);
	
          fprintf(fichierjo,  "%c%c",    (char)184, (char)15);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)184, (unsigned char)15);
	
          fprintf(fichierjo,  "%c%c",    (char)50, (char)21);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)50, (unsigned char)21);
	
          fprintf(fichierjo,  "%c%c",    (char)147, (char)18);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)147, (unsigned char)18);
	
          fprintf(fichierjo,  "%c%c",    (char)116, (char)13);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)116, (unsigned char)13);
	
          fprintf(fichierjo,  "%c%c",    (char)151, (char)15);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)151, (unsigned char)15);
78	18
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
164	21
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
153	9
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
200	15
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
18	21
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
197	20
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
118	16
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
173	14
          fprintf(fichierjo,  "%c%c",    (char)149, (char)9);
          fprintf(fichierjoa, "%d %d\n", (unsigned char)149, (unsigned char)9);
50	19
167	18
103	16
151	14
83	17
166	19
148	11
195	14
13	20
208	20
99	17
167	14
59	17
183	18
81	18
155	16
96	16
158	18
141	9
194	16
28	20
199	19
90	18
157	15
82	16
172	17
75	18
153	18
108	16
139	17
135	6
192	18
42	21
189	20
93	18
148	15
96	16
164	16
79	19
154	19
112	18
196	37
37	22
198	20
87	18
143	15
95	15
166	17
73	19
159	19
106	17
191	37
40	22
201	20
82	19
139	16
105	14
161	17
70	19
169	19
101	22
193	31
47	22
195	22
79	19
139	18
114	13
154	15
69	19
178	20
89	21
192	31
45	24
202	20
71	21
147	18
119	14
148	14
73	19
182	19
78	21
185	32
43	25
211	21
59	20
158	19
116	16
139	12
81	18
177	19
72	20
186	29
45	29
219	21
46	20
171	19
111	18
134	11
88	17
179	18
67	19
180	23
50	37
219	21
39	20
178	19
104	18
130	13
98	15
172	17
73	19
173	21
148	16
150	6
59	19
212	21
42	19
183	20
98	18
130	14
105	13
161	18
83	18
166	20
134	13
156	14
61	18
206	19
46	20
184	19
94	19
131	16
114	13
148	16
96	17
159	20
128	14
160	15
69	18
194	19
58	20
178	19
96	20
133	17
118	13
138	15
105	17
153	18
120	15
169	16
64	19
191	19
64	20
172	19
101	19
129	18
123	12
133	16
113	18
140	19
127	12
170	17
61	20
196	20
60	19
177	20
98	21
132	35
113	21
156	54
72	21
194	20
54	19
190	20
84	19
140	25
108	31
138	37
135	12
149	14
82	18
186	19
58	19
197	18
69	19
155	21
104	32
138	22
126	27
161	20
75	19
186	19
70	18
183	18
80	18
154	20
106	31
140	20
114	17
159	37
73	20
191	19
68	18
180	18
88	18
147	18
*/


int dureebase[6];
      for(int i=0; i<6; i++)
       {dureebase[i] = joc.dureefront[i];}

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


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

//        if(i%2)
//        joc.dureefront[i] -= joc.changedureefront[i];

        if(joc.dureefront[i] < 6)
         joc.dureefront[i] = 6;
        if(joc.amplitude[i] < 6)
         joc.amplitude[i] = 6;
        if(joc.amplitude[i] > 240)
         joc.amplitude[i] = 240;
          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]);

       }



     }



    int variforce = joc.dureefront[0];
    int variforce1 = joc.dureefront[2];
    int variforce2 = joc.dureefront[4];
	joc.dureefront[0] = joc.dureefront[1];
	joc.dureefront[2] = joc.dureefront[3];
	joc.dureefront[4] = joc.dureefront[5];
	joc.dureefront[1] = variforce;
	joc.dureefront[3] = variforce1;
	joc.dureefront[5] = variforce2;


//tremolo

    // monte laforceh
    for(int laforcehbase = joc.laforcec; laforcehbase > 0; laforcehbase--)
     {//2


   for(int laforcebbase = joc.laforceb; laforcebbase > 0; laforcebbase--)
     {//2


      for(int i=0; i<6; i++)
       {//3

        if(i%2)
         joc.amplitude[i] += joc.changeamplitude[i];
        else
         joc.amplitude[i] -= joc.changeamplitude[i];

//       if(i%2)
//        joc.dureefront[i] += joc.changedureefront[i];
//        else
//         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]);

       }//3
    	variforce = joc.dureefront[0];
    	variforce1 = joc.dureefront[2];
    	variforce2 = joc.dureefront[4];
	joc.dureefront[0] = joc.dureefront[1];
	joc.dureefront[2] = joc.dureefront[3];
	joc.dureefront[4] = joc.dureefront[5];
	joc.dureefront[1] = variforce;
	joc.dureefront[3] = variforce1;
	joc.dureefront[5] = variforce2;

       }//2

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


      for(int i=0; i<6; i++)
       {
        if(i%2)
         joc.amplitude[i] -= joc.changeamplitude[i];
        else
         joc.amplitude[i] += joc.changeamplitude[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]);

       }

    	variforce = joc.dureefront[0];
    	variforce1 = joc.dureefront[2];
    	variforce2 = joc.dureefront[4];
	joc.dureefront[0] = joc.dureefront[1];
	joc.dureefront[2] = joc.dureefront[3];
	joc.dureefront[4] = joc.dureefront[5];
	joc.dureefront[1] = variforce;
	joc.dureefront[3] = variforce1;
	joc.dureefront[5] = variforce2;
       }
       }//fin de zone tremolo





    // Descente laforceh
    for(int laforcehbase = joc.laforceh; laforcehbase > 0; laforcehbase--)
     {


      for(int i=0; i<6; i++)
       {

        if(i%2)
         joc.amplitude[i] += joc.changeamplitude[i];
        else
         joc.amplitude[i] -= joc.changeamplitude[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]);
/*    for(int laforcebbase = joc.laforceb; laforcebbase > 0; laforcebbase--)
     {
	int i = 0;
      while( i<2 )
       {
          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]);
	i++;
       }
       }
*/
       }
/*
      for(int i=0; i<6; i++)
       {joc.changeamplitude[i]  = amplibase[i];}
*/




      for(int i=0; i<6; i++)
       {joc.dureefront[i] = dureebase[i] - joc.changedureefront[i]; }

     }


   }










    // É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);
}
