| 12
 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
 
 | void OnFileChooser(GtkWidget *widget,gpointer data) /** On récupére le fichier choisie, soit un fichier audio **/
{
    GtkWidget *FileSelection=NULL;
    MainWindow* ptr_fenetre=(MainWindow*)data;
    FileSelection = gtk_file_chooser_dialog_new("Ouvrir...",
                    GTK_WINDOW(ptr_fenetre->window),
                    GTK_FILE_CHOOSER_ACTION_OPEN,
                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                    GTK_STOCK_OPEN, GTK_RESPONSE_OK,
                    NULL);
    gtk_window_set_modal(GTK_WINDOW(FileSelection), TRUE);
 
    switch (gtk_dialog_run(GTK_DIALOG(FileSelection)))
    {
    case GTK_RESPONSE_OK:
 
        ptr_fenetre->fichier_Ajouer = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(FileSelection)); /** n'oubliez pas de libérer cette variable,en effet la fonction fait une allocation*/
        gtk_window_set_title(GTK_WINDOW(ptr_fenetre->window),ptr_fenetre->fichier_Ajouer);
        LoadMusic(ptr_fenetre,&audio,ptr_fenetre->fichier_Ajouer);
        g_signal_connect(G_OBJECT(ptr_fenetre->boutons[BOUTON_PLAY]),"clicked",G_CALLBACK(PlayMusic),audio.music); /* si on clique sur les boutons  on fait appelle au fonction "audio.c"*/
        g_timeout_add(500, DisplayMusicTime, ptr_fenetre);
        g_timeout_add(500,setBarreTemps,ptr_fenetre);
        g_signal_connect(G_OBJECT(ptr_fenetre->boutons[BOUTON_PAUSE]),"clicked",G_CALLBACK(PauseMusic),NULL);   
        g_signal_connect(G_OBJECT(ptr_fenetre->boutons[BOUTON_STOP]),"clicked",G_CALLBACK(StopMusic),ptr_fenetre);
        g_free(ptr_fenetre->fichier_Ajouer);
        break;
    default:
        break;
 
    }
    gtk_widget_destroy(FileSelection);
    (void)widget;
} | 
Partager