graveman-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Graveman-cvs] Changes to graveman/current/src/cdrecord.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/cdrecord.c
Date: Fri, 11 Mar 2005 18:31:28 -0500

Index: graveman/current/src/cdrecord.c
diff -u graveman/current/src/cdrecord.c:1.22 
graveman/current/src/cdrecord.c:1.23
--- graveman/current/src/cdrecord.c:1.22        Sat Feb 26 12:23:36 2005
+++ graveman/current/src/cdrecord.c     Fri Mar 11 23:31:13 2005
@@ -307,11 +307,11 @@
   return Lreturn;
 }
 
-static gchar *get_blank_type(Tgrave *Ag)
+static gchar *get_blank_type(Tgrave *Ag, gint Atypemedia)
 {
   gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, "useautoblank");
 
-  if (!*Luseautoblank) return g_strdup("");
+  if (!*Luseautoblank || (!(Atypemedia & _MEDIA_CDRW))) return g_strdup("");
 
   return g_strdup_printf("blank=%s", conf_get_boolean("fastblank") == TRUE ? 
"fast" : "all");
 }
@@ -348,8 +348,10 @@
   gboolean Lstatus = FALSE;
   gboolean Leject = FALSE;
   GtkToggleButton *Ltbtn = NULL;
+  gint Lmediadetect1 = _MEDIA_CDRW;
 
-  Lblank = get_blank_type(Ag);
+  Lbufgrav = get_combo_value(Lgraveur);
+  Lbufvitesse = get_combo_value(Lvitesse);
 
   if ((Ltbtn = GTK_TOGGLE_BUTTON(sc_grave_get_widgetv(Ag, "%smulti", Aop))))
     Lmulti =gtk_toggle_button_get_active(Ltbtn);
@@ -363,14 +365,15 @@
     if (Lcurcd > 1 && !Ldosimul) {
       /* copie sur un nouveau cd, on demande a l'utilisateur d'inserer le
        * nouveau cd vierge */
-      gint Lrep;
+/*      gint Lrep;
       GtkWidget *Lconfirm = gtk_message_dialog_new(Lwindow,
                                               GTK_DIALOG_MODAL, 
GTK_MESSAGE_QUESTION,
                                               GTK_BUTTONS_YES_NO,
                  _("Now you should insert next CD-R, do you want to continue 
operation ?"));
       Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
       gtk_widget_destroy(Lconfirm);
-      if (Lrep == GTK_RESPONSE_NO) {
+      if (Lrep == GTK_RESPONSE_NO) { */
+      if (waiting_for_user("", Ag, _MEDIA_CDR + _MEDIA_APPENDABLE , 
&Lmediadetect1, Lbufgrav)==FALSE) {
         /* si c'est non alors on arrete */
         *Labort = TRUE;
         Lstatus = TRUE;
@@ -391,8 +394,7 @@
     gtk_label_set_text(Ltitle, Ltxt);
     g_free(Ltxt);
 
-    Lbufvitesse = get_combo_value(Lvitesse);
-    Lbufgrav = get_combo_value(Lgraveur);
+    Lblank = get_blank_type(Ag, Lmediadetect1);
     Lcommandline = g_strdup_printf("%s dev=%s -v gracetime=2 %s%s %s %s %s %s 
%s %s %s %s '%s'",
         conf_get_string("cdrecord"), Lbufgrav, *Lbufvitesse != '0' ? "speed=" 
: "", 
         *Lbufvitesse != '0' ? Lbufvitesse : "",  
@@ -405,11 +407,10 @@
         conf_get_boolean("overburn") ? "-overburn" : "",
         conf_get_string("cdrecordpara"),
         Liso);
+    g_free(Lblank);
+  
   _DEB("execution [%s]\n", Lcommandline);
 
-    g_free(Lbufgrav);
-    g_free(Lbufvitesse);
-
     Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);
     g_free(Lcommandline);
     if (Lstatus == FALSE) {
@@ -496,7 +497,8 @@
     strcpy(Llasttrack, "00");
   }
 
-  g_free(Lblank);
+  g_free(Lbufvitesse);
+  g_free(Lbufgrav);
   
   return Lstatus;
 }
@@ -733,11 +735,11 @@
   gchar *Lfileslist, *Lblank;
   gboolean Leject = FALSE;
   gchar Llasttrack[_BUF_SIZE] = "00";
+  gint Lmediadetect1 = _MEDIA_CDRW;
 
   Lfileslist = make_audio_fileslist(*Ltodo);
   Lbufvitesse = get_combo_value(Lvitesse);
   Lbufgrav = get_combo_value(Lgraveur);
-  Lblank = get_blank_type(Ag);
 
   *Ltodo = (*Ltodo) * ((Lnbrgravure) + (Lsimul ? 1 : 0));
 
@@ -750,14 +752,15 @@
     if (Lcurcd > 1 && !Ldosimul) {
       /* copie sur un nouveau cd, on demande a l'utilisateur d'inserer le
        * nouveau cd vierge */
-      gint Lrep;
+/*      gint Lrep;
       GtkWidget *Lconfirm = gtk_message_dialog_new(Lwindow,
                                               GTK_DIALOG_MODAL, 
GTK_MESSAGE_QUESTION,
                                               GTK_BUTTONS_YES_NO,
                  _("Now you should insert next CD-R, do you want to continue 
operation ?"));
       Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
       gtk_widget_destroy(Lconfirm);
-      if (Lrep == GTK_RESPONSE_NO) {
+      if (Lrep == GTK_RESPONSE_NO) {*/
+      if (waiting_for_user("", Ag, _MEDIA_CDR + _MEDIA_APPENDABLE , 
&Lmediadetect1, Lbufgrav)==FALSE) {
         /* si c'est non alors on arrete */
         *Labort = TRUE;
         Lstatus = TRUE;
@@ -774,16 +777,20 @@
      * si il faut realiser d'autre gravure sur d'autres CD-R */
     Leject = ((Lcurcd > 1 && (Lwanteject || Lcurcd<Lnbrgravure)) || (Lcurcd == 
1 && !Ldosimul && Lwanteject));
 
+    Lblank = get_blank_type(Ag, Lmediadetect1);
     Lcommandline = g_strdup_printf("%s dev=%s -v gracetime=2 %s%s %s%s %s %s 
%s %s %s -pad -audio %s", 
         conf_get_string("cdrecord"), Lbufgrav, *Lbufvitesse == '0' ? "" : 
"speed=", *Lbufvitesse == '0' ? "" : Lbufvitesse,
         Ldosimul ? " -dummy" : "",  /* simulation ? */ 
         Ldosimul || Lnotfix ? " -nofix" : "", /* fixer le cd apres ecriture ? 
*/
         Ldaomode ? " -dao" : "",  /* ecriture en mode DAO, pas de pause entre 
les pistes */
         Leject ? "-eject" : "", /* ejecter le cd apres l'operation */
-        Lblank, /* effacer le cdrw avant ? */
+        ((Lsimul && Lnbrpass != 2) || (!Lsimul)) ? Lblank : "", /* effacer le 
cdrw avant ?
+                                                * on efface pas le cd apres la 
simulation vu que l'operation
+                                                * a été faite juste avant */
         conf_get_string("cdrecordpara"),
         conf_get_boolean("overburn") ? "-overburn" : "",
         Lfileslist);
+    g_free(Lblank);
 _DEB("execution [%s]\n", Lcommandline);
     Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);
     g_free(Lcommandline);
@@ -868,7 +875,6 @@
     strcpy(Llasttrack, "00");
   }
 
-  g_free(Lblank);
   g_free(Lbufgrav);
   g_free(Lbufvitesse);
   g_free(Lfileslist);
@@ -1122,16 +1128,15 @@
 gchar *cdrecord_get_mediainfo(Tgrave *Ag, gchar *Adevice, GError **Aerror)
 {
   gchar **Lcmd;
-  gchar *Lcommandline, *Lout = NULL;
+  gchar *Lcommandline;
   gint *Lpid = (gint *) sc_grave_get_data(Ag, "pid");
   gint *Lcont = (gint *)sc_grave_get_data(Ag, "cont");
   gboolean *Labort = (gboolean *) sc_grave_get_data(Ag, "gabort");
-  gchar *Lreturn = NULL;
   gboolean Lstatus = FALSE;
   gchar Lmsinfo[_BUF_SIZE] = "";
   GIOChannel *Lcom;
   guint Lcomevent;
-  gint Lexit, Lnbrarg, g_out;
+  gint Lnbrarg, g_out;
   guint Ltimeout;
 
   (*Lcont) = 2;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]