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: Wed, 02 Feb 2005 18:07:26 -0500

Index: graveman/current/src/cdrecord.c
diff -u graveman/current/src/cdrecord.c:1.9 graveman/current/src/cdrecord.c:1.10
--- graveman/current/src/cdrecord.c:1.9 Tue Feb  1 19:58:29 2005
+++ graveman/current/src/cdrecord.c     Wed Feb  2 23:07:24 2005
@@ -38,6 +38,7 @@
 #define CDRECORD_INAPPROPRIATE "Inappropriate audio coding"
 #define CDRECORD_INPUTOUTPUT_ERROR "Input/output error."
 #define CDRECORD_FIXATING "Fixating..."
+#define CDRECORD_BLANKING "Blanking "
 #define CDRECORD_BAD_RECORDER "Sorry, no CD/DVD-Recorder or unsupported 
CD/DVD-Recorder found"
 
 /* support du materiel */
@@ -58,6 +59,7 @@
 /* effacer un cdrw ou cloturer un cdr */
 #define CDRECORD_BLANKING_TIME "Blanking time:"
 #define CDRECORD_CANNOT_BLANK "Cannot blank disk, aborting"
+#define CDRECORD_CANNOT_FORMAT "cannot format medium"
 #define CDRECORD_INCOMPATIBLE_MEDIUM "cannot format medium - incompatible 
medium"
 #define CDRECORD_FIXATING_TIME "Fixating time:"
 
@@ -627,6 +629,9 @@
   } else if (strstr(Lbuffer, CDRECORD_FIXATING)) {
     /* cloture du cd */
     gtk_label_set_text(Ltitle, _("Fixating..."));
+  } else if (strstr(Lbuffer, CDRECORD_BLANKING)) {
+    /* blanking disk */
+    gtk_label_set_text(Ltitle, _("Blanking..."));
   } else if ((f=strstr(Lbuffer, CDRECORD_STATUS))) {
     gboolean *Lstatus = (gboolean *) g_hash_table_lookup(Lhash, 
"operationstatus");
 /* bug 11803
@@ -644,6 +649,10 @@
     g_set_error(Lerreur, GRAVEMAN_ERROR, _ERR_NO_CD, _("Error writing CD !"));
     (*Lcont) = 0;
     return FALSE;
+  } else if (strstr(Lbuffer, CDRECORD_CANNOT_BLANK) || (strstr(Lbuffer, 
CDRECORD_CANNOT_FORMAT))) {
+    g_set_error(Lerreur, GRAVEMAN_ERROR, _ERR_CANNOT_BLANK, _("Cannot blank 
disk, aborting."));
+    (*Lcont) = 0;
+    return FALSE;
   } else if (strstr(Lbuffer, CDRECORD_ERRORDISK)) {
     /* erreur pas de cd vierge */
     g_set_error(Lerreur, GRAVEMAN_ERROR, _ERR_NO_CD, _("Error, a CD-R/CD-RW is 
required in the cd recorder !"));
@@ -1039,6 +1048,16 @@
 }
 
 
+/* ejecter un CD */
+void eject_cd(gchar *Adev, GError **Aerror)
+{
+  gchar *Lcommandline = g_strdup_printf("%s -eject dev=%s", 
conf_get_string("cdrecord"), Adev);
+  _DEB("EJECT %s\n", Adev);
+  
+  g_spawn_command_line_sync(Lcommandline, NULL, NULL, NULL, Aerror);
+
+  g_free(Lcommandline);
+}
 
 /*
  * vim:et:ts=8:sts=2:sw=2




reply via email to

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