141 |
/* copie d'une image iso */ |
/* copie d'une image iso */ |
142 |
gboolean burn_dvd(Tgrave *Ag, GError **Aerror) { |
gboolean burn_dvd(Tgrave *Ag, GError **Aerror) { |
143 |
gchar **Lcmd; |
gchar **Lcmd; |
144 |
gchar *Lcommandline, *Lbufgrav, *Ltxt; |
gchar *Lcommandline, *Ltxt; |
145 |
gchar *Lrepertoire = (gchar *)sc_grave_get_data(Ag, "tmpdir"); |
gchar *Lrepertoire = (gchar *)sc_grave_get_data(Ag, "tmpdir"); |
146 |
gint *Lcont = (gint *) sc_grave_get_data(Ag, "cont"); |
gint *Lcont = (gint *) sc_grave_get_data(Ag, "cont"); |
147 |
gboolean *Labort = (gboolean *) sc_grave_get_data(Ag, "gabort"); |
gboolean *Labort = (gboolean *) sc_grave_get_data(Ag, "gabort"); |
155 |
|
|
156 |
gint *Lpid = (gint *) sc_grave_get_data(Ag, "pid"); |
gint *Lpid = (gint *) sc_grave_get_data(Ag, "pid"); |
157 |
GtkWidget *Lvitesse = sc_grave_get_widget(Ag, "dstdvddataspeed"); |
GtkWidget *Lvitesse = sc_grave_get_widget(Ag, "dstdvddataspeed"); |
158 |
GtkWidget *Lgraveur = sc_grave_get_widget(Ag, "dstdvddatacombo"); |
Tdriveinfo *Ldevice = get_drive_info(Ag, "dstdvddatacombo"); |
159 |
GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_data(Ag, "gravetitle")); |
GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_data(Ag, "gravetitle")); |
160 |
gboolean Leject = FALSE; |
gboolean Leject = FALSE; |
161 |
gboolean Ldosimul; |
gboolean Ldosimul; |
175 |
_DEB("nbr gravure = [%d]\n", Lnbrgravure); |
_DEB("nbr gravure = [%d]\n", Lnbrgravure); |
176 |
|
|
177 |
Lbufvitesse = get_combo_value(Lvitesse); |
Lbufvitesse = get_combo_value(Lvitesse); |
|
Lbufgrav = get_combo_value(Lgraveur); |
|
178 |
Lisopara = make_image_getextrapara(Ag, "dvddata"); |
Lisopara = make_image_getextrapara(Ag, "dvddata"); |
179 |
|
|
180 |
for (Lcurcd=1; Lcurcd<= Lnbrgravure; |
for (Lcurcd=1; Lcurcd<= Lnbrgravure; |
215 |
gtk_label_set_text(Ltitle, Ltxt); |
gtk_label_set_text(Ltitle, Ltxt); |
216 |
g_free(Ltxt); |
g_free(Ltxt); |
217 |
|
|
218 |
Lcommandline = g_strdup_printf("%s %s %s %s %s%s %s -gui -use-the-force-luke=tty%s %s -f %s/", |
Lcommandline = g_strdup_printf("%s %s %s %s %s%s %s -gui -use-the-force-luke=tty%s %s -graft-points -path-list %s", |
219 |
conf_get_string("growisofs"), |
conf_get_string("growisofs"), |
220 |
Lnotfix ? "" : "-dvd-compat", |
Lnotfix ? "" : "-dvd-compat", |
221 |
Loperation, Lbufgrav, |
Loperation, get_dvdrwtools_bus(Ldevice), |
222 |
*Lbufvitesse != '0' ? "-speed=" : "", *Lbufvitesse != '0' ? Lbufvitesse : "", |
*Lbufvitesse != '0' ? "-speed=" : "", *Lbufvitesse != '0' ? Lbufvitesse : "", |
223 |
conf_get_boolean("overburn") ? "-overburn" : "", |
conf_get_boolean("overburn") ? "-overburn" : "", |
224 |
Ldosimul ? ",dummy" : "", /* simulation ? */ |
Ldosimul ? ",dummy" : "", /* simulation ? */ |
234 |
break; |
break; |
235 |
} |
} |
236 |
|
|
237 |
Lstatus = g_spawn_async_with_pipes(Lrepertoire, Lcmd, NULL, /* env argument */ |
Lstatus = g_spawn_async_with_pipes(NULL, Lcmd, NULL, /* env argument */ |
238 |
(GSpawnFlags ) (G_SPAWN_DO_NOT_REAP_CHILD), |
(GSpawnFlags ) (G_SPAWN_DO_NOT_REAP_CHILD), |
239 |
NULL, NULL, Lpid, NULL, &g_out, &g_err, Aerror); |
NULL, NULL, Lpid, NULL, &g_out, &g_err, Aerror); |
240 |
g_strfreev(Lcmd); |
g_strfreev(Lcmd); |
270 |
g_io_channel_unref(Lcomerr); |
g_io_channel_unref(Lcomerr); |
271 |
g_io_channel_shutdown(Lcom, FALSE, NULL); |
g_io_channel_shutdown(Lcom, FALSE, NULL); |
272 |
g_io_channel_unref(Lcom); |
g_io_channel_unref(Lcom); |
273 |
|
|
274 |
g_spawn_close_pid(*Lpid); |
g_spawn_close_pid(*Lpid); |
275 |
*Lpid = 0; |
*Lpid = 0; |
276 |
|
|
308 |
} |
} |
309 |
|
|
310 |
g_free(Lisopara); |
g_free(Lisopara); |
|
g_free(Lbufgrav); |
|
311 |
g_free(Lbufvitesse); |
g_free(Lbufvitesse); |
312 |
|
|
313 |
|
|