1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   |  
     while(Chanson_courante <= g_list_length(Liste_musique) && Stop == FALSE)
     {
          FSOUND_Init(44100, 32, 0); 
          FSOUND_SetVolume(FSOUND_ALL, 255);
          FSOUND_STREAM *Musique = NULL;
          gchar* Message, *Temp;
          Message = (gchar *) g_list_nth_data(Liste_musique, Chanson_courante-1);
          Temp = g_locale_from_utf8( str_replace(Message, "\\", "\\\\"), -1, NULL, NULL, NULL);
          gtk_main_iteration();
          Musique = FSOUND_Stream_Open(g_strdup(Temp), 0, 0, 0);//g_strdup(str_replace(Message, "\\", "\\\\")), 0, 0, 0);
 
         if(Musique != NULL)
          {
 
               FSOUND_Stream_Play(FSOUND_FREE, Musique);                  
 
               i = 0, y = 0;
               y = FSOUND_Stream_GetLengthMs(Musique);
 
 
                while(i < y && Stop == FALSE)
               {     
                     i = FSOUND_Stream_GetTime(Musique);
                     Fraction = (gdouble)i / (gdouble)y;
                     gtk_progress_bar_set_text(GTK_PROGRESS_BAR(data), g_strdup_printf("%s - %s / %s", g_path_get_basename(Message), MiseForme_Heure(i), MiseForme_Heure(y))); 
                     gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data), Fraction);                  
                     gtk_main_iteration();     
               }
 
               FSOUND_Stream_Close(Musique);             
               Chanson_courante++;       
 
           }
 
           else
           {
 
               GtkWidget *Dialogue;
               Dialogue = gtk_message_dialog_new(NULL,
                                                 GTK_DIALOG_MODAL,
                                                 GTK_MESSAGE_WARNING,
                                                 GTK_BUTTONS_OK,
                                                 g_locale_to_utf8("Le lecteur musique ne peut pas joué la musique suivante. Cette musique n'est probablement pas au bon format ou bien elle a été déplacé ou supprimé !\nVoici le repertoire de destination que nous avons dans nos fichiers : \n%s", -1, NULL, NULL, NULL), Message);    
               gdk_beep();
               gtk_dialog_run(GTK_DIALOG(Dialogue));
               gtk_widget_destroy(Dialogue);
 
               FSOUND_Stream_Close(Musique); 
               Chanson_courante++;
           }      
       gtk_progress_bar_set_text(GTK_PROGRESS_BAR(data), ""); 
       gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data), (gdouble) 0); 
 
       } |