51 |
|
|
52 |
#ifdef ENABLE_MP3 |
#ifdef ENABLE_MP3 |
53 |
if (GsupportMp3 && sc_str_has_casesuffix(Anom, MP3)) { |
if (GsupportMp3 && sc_str_has_casesuffix(Anom, MP3)) { |
54 |
|
printf("MP3\n"); |
55 |
Lstatus = getMp3Info(Anom, <itle, &LAlbum, &LArtist, &Llennbr, NULL); |
Lstatus = getMp3Info(Anom, <itle, &LAlbum, &LArtist, &Llennbr, NULL); |
56 |
} else |
} else |
57 |
#endif |
#endif |
752 |
Tgrave *Lg = (Tgrave *)Adata; |
Tgrave *Lg = (Tgrave *)Adata; |
753 |
const gchar *Lname = glade_get_widget_name(Abtn); |
const gchar *Lname = glade_get_widget_name(Abtn); |
754 |
GtkWidget *Ltextdest = (GtkWidget *) sc_grave_get_widgetv(Lg, "%svalue", Lname); |
GtkWidget *Ltextdest = (GtkWidget *) sc_grave_get_widgetv(Lg, "%svalue", Lname); |
755 |
gint resp; |
gint Lresp; |
756 |
GtkWidget *Lfilesel; |
GtkWidget *Lfilesel; |
757 |
GtkFileChooserAction Ldialogtype = !strncmp(Lname, "src", 3) ? |
GtkFileChooserAction Ldialogtype = !strncmp(Lname, "src", 3) ? |
758 |
GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE; |
GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE; |
760 |
if (!strncmp(Lname, "dir", 3)) { |
if (!strncmp(Lname, "dir", 3)) { |
761 |
Ldialogtype = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; |
Ldialogtype = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER; |
762 |
} |
} |
763 |
Lfilesel = create_fileselection1(NULL, Ldialogtype); |
Lfilesel = create_isoselection(NULL, Ldialogtype); |
764 |
use_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
use_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
765 |
resp=gtk_dialog_run(GTK_DIALOG(Lfilesel)); |
Lresp=gtk_dialog_run(GTK_DIALOG(Lfilesel)); |
766 |
gtk_widget_hide (Lfilesel); |
gtk_widget_hide (Lfilesel); |
767 |
while (gtk_events_pending()) |
while (gtk_events_pending()) |
768 |
gtk_main_iteration(); |
gtk_main_iteration(); |
769 |
|
|
770 |
if (resp == GTK_RESPONSE_ACCEPT) { |
if (Lresp == GTK_RESPONSE_ACCEPT) { |
771 |
gchar *Lfilenamebrut = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER ( Lfilesel)); |
gchar *Lfilenamebrut = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER ( Lfilesel)); |
772 |
gchar *Lfilename = _UTF8(Lfilenamebrut); |
gchar *Lfilename = _FILENAME(Lfilenamebrut); |
773 |
save_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
save_last_dir(GTK_FILE_CHOOSER(Lfilesel)); |
774 |
gtk_entry_set_text(GTK_ENTRY(Ltextdest), Lfilename); |
gtk_entry_set_text(GTK_ENTRY(Ltextdest), Lfilename); |
775 |
g_free(Lfilename); |
g_free(Lfilename); |
1750 |
} |
} |
1751 |
#endif |
#endif |
1752 |
|
|
1753 |
|
/* charger un fichier, importer une playlist */ |
1754 |
|
void menu_load(GtkMenuItem *Amenuitem, gpointer Adata) |
1755 |
|
{ |
1756 |
|
Tgrave *Lg = (Tgrave *)Adata; |
1757 |
|
GtkWidget *Lfileselection; |
1758 |
|
GtkFileFilter *filterm3u, *filterpts, *filterall; |
1759 |
|
GtkWidget *Lparent = sc_grave_get_widget(Lg, "topwindow"); |
1760 |
|
gint Lresp; |
1761 |
|
GError *Lerror = NULL; |
1762 |
|
gboolean LnewPl = (strcmp(glade_get_widget_name(GTK_WIDGET(Amenuitem)), "popupaudio_append")); |
1763 |
|
|
1764 |
|
/* filtres pour la selection de fichiers */ |
1765 |
|
filterall = gtk_file_filter_new (); |
1766 |
|
gtk_file_filter_set_name (filterall, _("All playlists files (*.m3u *.pts)")); |
1767 |
|
gtk_file_filter_add_pattern(filterall, "*.m3u"); |
1768 |
|
gtk_file_filter_add_pattern(filterall, "*.pts"); |
1769 |
|
filterm3u = gtk_file_filter_new (); |
1770 |
|
gtk_file_filter_set_name (filterm3u, _("M3u and m3u extended playlists only (*.m3u)")); |
1771 |
|
gtk_file_filter_add_pattern(filterm3u, "*.m3u"); |
1772 |
|
filterpts = gtk_file_filter_new (); |
1773 |
|
gtk_file_filter_set_name (filterpts, _("Pts playlists only (*.pts)")); |
1774 |
|
gtk_file_filter_add_pattern(filterpts, "*.pts"); |
1775 |
|
|
1776 |
|
Lfileselection = gtk_file_chooser_dialog_new(LnewPl ? _("Import audio play list") : _("Append audio play list"), |
1777 |
|
GTK_WINDOW(Lparent), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
1778 |
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); |
1779 |
|
|
1780 |
|
gtk_dialog_set_default_response (GTK_DIALOG (Lfileselection), GTK_RESPONSE_ACCEPT); |
1781 |
|
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterall); |
1782 |
|
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterm3u); |
1783 |
|
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (Lfileselection), filterpts); |
1784 |
|
|
1785 |
|
use_last_dir(GTK_FILE_CHOOSER(Lfileselection)); |
1786 |
|
Lresp=gtk_dialog_run(GTK_DIALOG(Lfileselection)); |
1787 |
|
|
1788 |
|
gtk_widget_hide (Lfileselection); |
1789 |
|
|
1790 |
|
if (Lresp == GTK_RESPONSE_ACCEPT) { |
1791 |
|
gchar *Lfilenamebrut = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (Lfileselection)); |
1792 |
|
gchar *Lfilename = _FILENAME(Lfilenamebrut); |
1793 |
|
|
1794 |
|
save_last_dir(GTK_FILE_CHOOSER(Lfileselection)); |
1795 |
|
|
1796 |
|
if (sc_str_has_casesuffix(Lfilename, M3U)) { |
1797 |
|
m3u_import(Lfilename, Lg, LnewPl, &Lerror); |
1798 |
|
} else if (sc_str_has_casesuffix(Lfilename, PLS)) { |
1799 |
|
pls_import(Lfilename, Lg, LnewPl, &Lerror); |
1800 |
|
} |
1801 |
|
|
1802 |
|
g_free(Lfilename); |
1803 |
|
g_free(Lfilenamebrut); |
1804 |
|
|
1805 |
|
if (Lerror) { |
1806 |
|
/* erreur */ |
1807 |
|
GtkWidget *Lstatusbox = gtk_message_dialog_new(GTK_WINDOW(Lparent), |
1808 |
|
GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, |
1809 |
|
Lerror->message); |
1810 |
|
gtk_dialog_run(GTK_DIALOG(Lstatusbox)); |
1811 |
|
|
1812 |
|
gtk_widget_destroy(Lstatusbox); |
1813 |
|
g_error_free(Lerror); |
1814 |
|
} else { |
1815 |
|
/* on active le panel "cd audio" si on n'y est pas */ |
1816 |
|
menu_active_panel(sc_grave_get_widget(Lg, "menucdaudio"), Lg); |
1817 |
|
} |
1818 |
|
} |
1819 |
|
|
1820 |
|
gtk_widget_destroy(Lfileselection); |
1821 |
|
} |
1822 |
|
|
1823 |
/* debuter un nouveau projet */ |
/* debuter un nouveau projet */ |
1824 |
void menu_start_new(GtkMenuItem *Amenuitem, gpointer Adata) |
void menu_start_new(GtkMenuItem *Amenuitem, gpointer Adata) |
1825 |
{ |
{ |
1835 |
|
|
1836 |
if (!strcmp(Lname, "bodycdaudio")) { |
if (!strcmp(Lname, "bodycdaudio")) { |
1837 |
/* on est sur l'onglet cd audio, on vide la liste */ |
/* on est sur l'onglet cd audio, on vide la liste */ |
1838 |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_widget(Lg, "LISTEAUDIO")); |
clear_list_audio(Lg); |
|
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(Lliste); |
|
|
GtkProgressBar *Lcontenance = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "audiolenbar")); |
|
|
guint32 *Laudiolen = (guint32 *)sc_grave_get_data(Lg, "audiolen"); |
|
|
guint32 *Laudiomaxlen = (guint32 *)sc_grave_get_data(Lg, "audiomaxlen"); |
|
|
(*Laudiolen) = 0; |
|
|
|
|
|
gtk_list_store_clear(GTK_LIST_STORE(Ltreemodel)); |
|
|
gtk_tree_view_columns_autosize(Lliste); |
|
|
switch_pbar_status(Lcontenance, *Laudiomaxlen, *Laudiolen, PB_UPDATE_AUDIO); |
|
|
|
|
1839 |
} else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) { |
} else if (!strcmp(Lname, "bodycddata") || !strcmp(Lname, "bodydvddata")) { |
1840 |
/* on est sur l'onglet cd data, on vide la liste */ |
/* on est sur l'onglet cd data, on vide la liste */ |
1841 |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
GtkTreeView *Lliste = GTK_TREE_VIEW(sc_grave_get_data(Lg, "_current_list")); |
1897 |
|
|
1898 |
/* |
/* |
1899 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |
1900 |
)*/ |
*/ |