/[graveman]/graveman/current/src/growisofs.c
ViewVC logotype

Diff of /graveman/current/src/growisofs.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by scresto, Tue Feb 15 22:44:44 2005 UTC revision 1.5 by scresto, Sat Feb 19 17:49:08 2005 UTC
# Line 34  Line 34 
34  /* communication avec growisofs */  /* communication avec growisofs */
35    
36  /* mise a jour du titre depuis le template prepare avec prepare_title */  /* mise a jour du titre depuis le template prepare avec prepare_title */
37  void set_title(GHashTable *Ahash, gchar *Avitesse) {  void set_title(Tgrave *Ag, gchar *Avitesse) {
38    GtkLabel *Llabel = g_hash_table_lookup(Ahash, "gravetitle");    GtkLabel *Llabel = GTK_LABEL(sc_grave_get_widget(Ag, "gravetitle"));
39    gchar *Ltitleshow = g_strdup_printf(_("Writing DVD in progress at %sx..."), Avitesse);    gchar *Ltitleshow = g_strdup_printf(_("Writing DVD in progress at %sx..."), Avitesse);
40    
41    gtk_label_set_text(Llabel, Ltitleshow);    gtk_label_set_text(Llabel, Ltitleshow);
# Line 63  gchar *get_title_preparing(gint Anbrgrav Line 63  gchar *get_title_preparing(gint Anbrgrav
63  gboolean growisofs_grave_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata)  gboolean growisofs_grave_callback(GIOChannel *Astd, GIOCondition Acond, gpointer Adata)
64  {  {
65    GIOStatus Lstatus;    GIOStatus Lstatus;
66    GHashTable *Lhash = (GHashTable *)Adata;    Tgrave *Lg = (Tgrave *)Adata;
67    gchar *Lbuffer;    gchar *Lbuffer;
68    gchar *s, *t;    gchar *s, *t;
69    GtkProgressBar *Lprogressbar = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "pb_total"));    GtkProgressBar *Lprogressbar = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "pb_total"));
70    GtkProgressBar *Lprogressbar2 = GTK_PROGRESS_BAR(g_hash_table_lookup(Lhash, "pb_step"));    GtkProgressBar *Lprogressbar2 = GTK_PROGRESS_BAR(sc_grave_get_widget(Lg, "pb_step"));
71    GtkLabel *Ltitle = GTK_LABEL(g_hash_table_lookup(Lhash, "gravetitle"));    GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_widget(Lg, "gravetitle"));
72    GError **Lerreur = (GError **) g_hash_table_lookup(Lhash, "gerror"); /* pointeur erreur */    GError **Lerreur = (GError **) sc_grave_get_data(Lg, "gerror"); /* pointeur erreur */
73    gdouble Lpct, Ltava;    gdouble Lpct, Ltava;
74    gchar Lsbuf[100], Lsbuf2[100];    gchar Lsbuf[100], Lsbuf2[100];
75    gint *Lcont = (gint *) g_hash_table_lookup(Lhash, "cont"); /* on traite encore des donnees ? */    gint *Lcont = (gint *) sc_grave_get_data(Lg, "cont"); /* on traite encore des donnees ? */
76    gint *Ltodo = (gint *) g_hash_table_lookup(Lhash, "todo"); /* nombre de piste a traiter */    gint *Ltodo = (gint *) sc_grave_get_data(Lg, "todo"); /* nombre de piste a traiter */
77    gint *Ldone = (gint *) g_hash_table_lookup(Lhash, "done"); /* nombre de piste deja traite */    gint *Ldone = (gint *) sc_grave_get_data(Lg, "done"); /* nombre de piste deja traite */
78    
79    if (Acond == G_IO_HUP || Acond == G_IO_ERR) {    if (Acond == G_IO_HUP || Acond == G_IO_ERR) {
80      *Lcont = 0;      *Lcont = 0;
# Line 92  _DEB("===>%s", Lbuffer); Line 92  _DEB("===>%s", Lbuffer);
92      s+=strlen(GROWISOFS_CURRENT_WRITE_SPEED);      s+=strlen(GROWISOFS_CURRENT_WRITE_SPEED);
93      if ((t = strchr(s, 'x'))) {      if ((t = strchr(s, 'x'))) {
94        *t = 0;        *t = 0;
95        set_title(Lhash, s);        set_title(Lg, s);
96      }      }
97    } else if (!strncmp(Lbuffer, GROWISOFS_USING, strlen(GROWISOFS_USING))) {    } else if (!strncmp(Lbuffer, GROWISOFS_USING, strlen(GROWISOFS_USING))) {
98      /* rien pour le moment */      /* rien pour le moment */
# Line 123  _DEB("===>%s", Lbuffer); Line 123  _DEB("===>%s", Lbuffer);
123      g_snprintf(Lsbuf2, sizeof(Lsbuf2)-1, "%.0f%%", Ltava*100);      g_snprintf(Lsbuf2, sizeof(Lsbuf2)-1, "%.0f%%", Ltava*100);
124      gtk_progress_bar_set_text(Lprogressbar, Lsbuf2);      gtk_progress_bar_set_text(Lprogressbar, Lsbuf2);
125    } else if (strstr(Lbuffer, GROWISOFS_WRITING_LEADOUT)) {    } else if (strstr(Lbuffer, GROWISOFS_WRITING_LEADOUT)) {
126      gboolean *Loperationstatus = (gboolean *)g_hash_table_lookup(Lhash, "operationstatus");      gboolean *Loperationstatus = (gboolean *)sc_grave_get_data(Lg, "operationstatus");
127      gtk_label_set_text(Ltitle, _("Writing lead-out..."));      gtk_label_set_text(Ltitle, _("Writing lead-out..."));
128      *Loperationstatus = TRUE;      *Loperationstatus = TRUE;
129    } else if ((s=strstr(Lbuffer, GROWISOFS_FAILED))) {    } else if ((s=strstr(Lbuffer, GROWISOFS_FAILED))) {
# Line 139  _DEB("===>%s", Lbuffer); Line 139  _DEB("===>%s", Lbuffer);
139  }  }
140    
141  /* copie d'une image iso */  /* copie d'une image iso */
142  gboolean burn_dvd(GHashTable *Ahash, GError **Aerror) {  gboolean burn_dvd(Tgrave *Ag, GError **Aerror) {
143    gchar **Lcmd;    gchar **Lcmd;
144    gchar *Lcommandline, *Lbufgrav, *Ltxt;    gchar *Lcommandline, *Lbufgrav, *Ltxt;
145    gchar **Lrepertoire = (gchar **)g_hash_table_lookup(Ahash, "tmpdir");    gchar **Lrepertoire = (gchar **)sc_grave_get_data(Ag, "tmpdir");
146    gint *Lcont = (gint *) g_hash_table_lookup(Ahash, "cont");    gint *Lcont = (gint *) sc_grave_get_data(Ag, "cont");
147    gboolean *Labort = (gboolean *) g_hash_table_lookup(Ahash, "gabort");    gboolean *Labort = (gboolean *) sc_grave_get_data(Ag, "gabort");
148    GtkWindow *Lwindow = GTK_WINDOW(g_hash_table_lookup(Ahash, "window_burn"));    GtkWindow *Lwindow = GTK_WINDOW(sc_grave_get_widget(Ag, "window_burn"));
149    gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "dvddatasimul")));    gboolean Lsimul = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "dvddatasimul")));
150    gint Lnbrgravure = gtk_spin_button_get_value(GTK_SPIN_BUTTON(g_hash_table_lookup(Ahash, "nbrdvddata")));    gint Lnbrgravure = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sc_grave_get_widget(Ag, "nbrdvddata")));
151    gint *Ldone = (gint *)g_hash_table_lookup(Ahash, "done"); /* fais */    gint *Ldone = (gint *)sc_grave_get_data(Ag, "done"); /* fais */
152    
153    gboolean *Loperationstatus = (gboolean *)g_hash_table_lookup(Ahash, "operationstatus");    gboolean *Loperationstatus = (gboolean *)sc_grave_get_data(Ag, "operationstatus");
154    gboolean Lwanteject = conf_get_boolean("eject");    gboolean Lwanteject = conf_get_boolean("eject");
155    
156    gint *Lpid = (gint *) g_hash_table_lookup(Ahash, "pid");    gint *Lpid = (gint *) sc_grave_get_data(Ag, "pid");
157    GtkWidget *Lvitesse = g_hash_table_lookup(Ahash, "dstdvddataspeed");    GtkWidget *Lvitesse = sc_grave_get_widget(Ag, "dstdvddataspeed");
158    GtkWidget *Lgraveur = g_hash_table_lookup(Ahash, "dstdvddatacombo");    GtkWidget *Lgraveur = sc_grave_get_widget(Ag, "dstdvddatacombo");
159    GtkLabel *Ltitle = GTK_LABEL(g_hash_table_lookup(Ahash, "gravetitle"));    GtkLabel *Ltitle = GTK_LABEL(sc_grave_get_widget(Ag, "gravetitle"));
160    gboolean Leject = FALSE;    gboolean Leject = FALSE;
161    gboolean Ldosimul;    gboolean Ldosimul;
162    gchar *Lbufvitesse;    gchar *Lbufvitesse;
163    gchar *Loperation = g_hash_table_lookup(Ahash, "typeburn");    gchar *Loperation = sc_grave_get_data(Ag, "typeburn");
164    gint Lcurcd;    gint Lcurcd;
165    gint Lnbrpass=1;    gint Lnbrpass=1;
166    gint g_out, g_err, Lnbrarg;    gint g_out, g_err, Lnbrarg;
# Line 169  gboolean burn_dvd(GHashTable *Ahash, GEr Line 169  gboolean burn_dvd(GHashTable *Ahash, GEr
169    gchar *Lisopara = NULL;    gchar *Lisopara = NULL;
170    gboolean Lstatus;    gboolean Lstatus;
171    
172    GtkToggleButton *Lbtnnotfix = GTK_TOGGLE_BUTTON(g_hash_table_lookup(Ahash, "dvddatanotfix"));    GtkToggleButton *Lbtnnotfix = GTK_TOGGLE_BUTTON(sc_grave_get_widget(Ag, "dvddatanotfix"));
173    gboolean Lnotfix = Lbtnnotfix ? gtk_toggle_button_get_active(Lbtnnotfix) : FALSE;    gboolean Lnotfix = Lbtnnotfix ? gtk_toggle_button_get_active(Lbtnnotfix) : FALSE;
174  _DEB("DVD DATA\n");  _DEB("DVD DATA\n");
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);
178    Lbufgrav = get_combo_value(Lgraveur);    Lbufgrav = get_combo_value(Lgraveur);
179    Lisopara = make_image_getextrapara(Ahash, "dvddata");    Lisopara = make_image_getextrapara(Ag, "dvddata");
180    
181    for (Lcurcd=1; Lcurcd<= Lnbrgravure;    for (Lcurcd=1; Lcurcd<= Lnbrgravure;
182        ((Lsimul && Lnbrpass>1) || (!Lsimul)) ? ( Lcurcd++, Lnbrpass=1 ) : ( Lnbrpass++ )) {        ((Lsimul && Lnbrpass>1) || (!Lsimul)) ? ( Lcurcd++, Lnbrpass=1 ) : ( Lnbrpass++ )) {
# Line 251  _DEB("nbr gravure = [%d]\n", Lnbrgravure Line 251  _DEB("nbr gravure = [%d]\n", Lnbrgravure
251      g_io_channel_set_encoding (Lcom, NULL, NULL);      g_io_channel_set_encoding (Lcom, NULL, NULL);
252      g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );      g_io_channel_set_flags( Lcom, G_IO_FLAG_NONBLOCK, NULL );
253      Lcomevent = g_io_add_watch (Lcom, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI),      Lcomevent = g_io_add_watch (Lcom, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI),
254                                          growisofs_grave_callback, Ahash);                                          growisofs_grave_callback, Ag);
255        
256      Lcomerr = g_io_channel_unix_new( g_err );      Lcomerr = g_io_channel_unix_new( g_err );
257      g_io_channel_set_encoding (Lcomerr, NULL, NULL);      g_io_channel_set_encoding (Lcomerr, NULL, NULL);
258      g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );      g_io_channel_set_flags( Lcomerr, G_IO_FLAG_NONBLOCK, NULL );
259      Lcomerrevent = g_io_add_watch (Lcomerr, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI),      Lcomerrevent = g_io_add_watch (Lcomerr, (G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_PRI),
260                                          growisofs_grave_callback, Ahash);                                            growisofs_grave_callback, Ag);  
261            
262      while (*Lcont>0 && *Labort == FALSE) {      while (*Lcont>0 && *Labort == FALSE) {
263        gtk_main_iteration();        gtk_main_iteration();

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26