27 |
/* appele pour chaque entree de la liste */ |
/* appele pour chaque entree de la liste */ |
28 |
gboolean foreachtracks(GtkTreeModel *Amodel, GtkTreePath *Apath, GtkTreeIter *Aiter, gpointer Adata) |
gboolean foreachtracks(GtkTreeModel *Amodel, GtkTreePath *Apath, GtkTreeIter *Aiter, gpointer Adata) |
29 |
{ |
{ |
30 |
GHashTable *Lhash = (GHashTable *) Adata; |
Tgrave *Lg = (Tgrave *) Adata; |
31 |
GtkLabel *LTitle = GTK_LABEL(g_hash_table_lookup(Lhash, "gravetitle")); |
GtkLabel *LTitle = GTK_LABEL(sc_grave_get_widget(Lg, "gravetitle")); |
32 |
gchar **Ltmpdir = (gchar **) g_hash_table_lookup(Lhash, "tmpdir"); |
gchar **Ltmpdir = (gchar **) sc_grave_get_data(Lg, "tmpdir"); |
33 |
gint *Ldone = (gint *) g_hash_table_lookup(Lhash, "done"); |
gint *Ldone = (gint *) sc_grave_get_data(Lg, "done"); |
34 |
gint *Lcont = (gint *) g_hash_table_lookup(Lhash, "cont"); |
gint *Lcont = (gint *) sc_grave_get_data(Lg, "cont"); |
35 |
GError **Lerreur = (GError **) g_hash_table_lookup(Lhash, "gerror"); |
GError **Lerreur = (GError **) sc_grave_get_data(Lg, "gerror"); |
36 |
|
|
37 |
gboolean Lreturn = FALSE; |
gboolean Lreturn = FALSE; |
38 |
gchar *Lutf8, *Lvers, *Lfichierlcl, *Lfichierutf8, *Lficname; |
gchar *Lutf8, *Lvers, *Lfichierlcl, *Lfichierutf8, *Lficname; |
57 |
Lvers = g_strdup_printf("%s/piste_%d.cdr", *Ltmpdir, (*Ldone)++); |
Lvers = g_strdup_printf("%s/piste_%d.cdr", *Ltmpdir, (*Ldone)++); |
58 |
|
|
59 |
/* conversion pistes audio en piste cdr pour la gravure */ |
/* conversion pistes audio en piste cdr pour la gravure */ |
60 |
Lreturn = (SoundToCdr(Lhash, Lfichierlcl, Lvers, Lerreur) == TRUE ? FALSE : TRUE); |
Lreturn = (SoundToCdr(Lg, Lfichierlcl, Lvers, Lerreur) == TRUE ? FALSE : TRUE); |
61 |
g_free(Lvers); |
g_free(Lvers); |
62 |
g_free(Lfichierlcl); g_free(Lfichierutf8); |
g_free(Lfichierlcl); g_free(Lfichierutf8); |
63 |
|
|
83 |
return Lreturn; |
return Lreturn; |
84 |
} |
} |
85 |
|
|
86 |
gboolean preparetrack(GHashTable *Ahash, GError **Aerror) { |
gboolean preparetrack(Tgrave *Ag, GError **Aerror) { |
87 |
gchar **Ltmpdir = (gchar **)g_hash_table_lookup(Ahash, "tmpdir"); |
gchar **Ltmpdir = (gchar **)sc_grave_get_data(Ag, "tmpdir"); |
88 |
gboolean *Labort = (gboolean *)g_hash_table_lookup(Ahash, "gabort"); |
gboolean *Labort = (gboolean *)sc_grave_get_data(Ag, "gabort"); |
89 |
gint *Lcont = (gint *)g_hash_table_lookup(Ahash, "cont"); |
gint *Lcont = (gint *)sc_grave_get_data(Ag, "cont"); |
90 |
gchar *Lnamedir; |
gchar *Lnamedir; |
91 |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(g_hash_table_lookup(Ahash, "LISTEAUDIO"))); |
GtkTreeModel *Ltreemodel = gtk_tree_view_get_model(GTK_TREE_VIEW(sc_grave_get_widget(Ag, "LISTEAUDIO"))); |
92 |
GtkProgressBar *Lprogressbar2 = GTK_PROGRESS_BAR(g_hash_table_lookup(Ahash, "pb_step")); |
GtkProgressBar *Lprogressbar2 = GTK_PROGRESS_BAR(sc_grave_get_widget(Ag, "pb_step")); |
93 |
g_assert(GTK_IS_TREE_MODEL(Ltreemodel)); |
g_assert(GTK_IS_TREE_MODEL(Ltreemodel)); |
94 |
|
|
95 |
Lnamedir = g_strdup_printf("%s/%s", conf_get_string_def("tmpdir", "/tmp"), "gravemanXXXXXX"); |
Lnamedir = g_strdup_printf("%s/%s", conf_get_string_def("tmpdir", "/tmp"), "gravemanXXXXXX"); |
104 |
*Ltmpdir = Lnamedir; |
*Ltmpdir = Lnamedir; |
105 |
|
|
106 |
*Lcont = 2; |
*Lcont = 2; |
107 |
g_timeout_add(500, encours_callback, Ahash); |
g_timeout_add(500, encours_callback, Ag); |
108 |
|
|
109 |
/* conversion de chaques fichiers */ |
/* conversion de chaques fichiers */ |
110 |
gtk_tree_model_foreach(Ltreemodel, foreachtracks, Ahash); |
gtk_tree_model_foreach(Ltreemodel, foreachtracks, Ag); |
111 |
|
|
112 |
/* on attend la fin du timeout */ |
/* on attend la fin du timeout */ |
113 |
*Lcont = 1; |
*Lcont = 1; |