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
| 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