[Goodies-commits] r6082 - xfburn/trunk/xfburn

David Mohr squisher at xfce.org
Thu Nov 13 00:00:23 CET 2008


Author: squisher
Date: 2008-11-12 23:00:23 +0000 (Wed, 12 Nov 2008)
New Revision: 6082

Modified:
   xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
Log:
Removing code to create an .iso file from an audio composition. I don't think iso9660 can contain audio data.

Modified: xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-11-12 22:35:32 UTC (rev 6081)
+++ xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-11-12 23:00:23 UTC (rev 6082)
@@ -57,9 +57,6 @@
   GtkWidget *entry;
   GtkWidget *check_eject;
   GtkWidget *check_burnfree;
-  GtkWidget *check_only_iso;
-  GtkWidget *hbox_iso;
-  GtkWidget *entry_path_iso;
   GtkWidget *check_dummy;
   GtkWidget *button_proceed;
 
@@ -79,8 +76,6 @@
 static void xfburn_burn_audio_cd_composition_dialog_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec);
 static void xfburn_burn_audio_cd_composition_dialog_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec);
 
-static void cb_check_only_iso_toggled (GtkToggleButton * button, XfburnBurnAudioCdCompositionDialog * dialog);
-static void cb_browse_iso (GtkButton * button, XfburnBurnAudioCdCompositionDialog * dialog);
 static void cb_disc_refreshed (GtkWidget *device_box, XfburnDevice *device, XfburnBurnAudioCdCompositionDialog * dialog);
 static void cb_dialog_response (XfburnBurnAudioCdCompositionDialog * dialog, gint response_id,
                                 XfburnBurnAudioCdCompositionDialogPrivate * priv);
@@ -140,13 +135,10 @@
   
   GdkPixbuf *icon = NULL;
   GtkBox *box;
-  GtkWidget *img;
   GtkWidget *frame;
   GtkWidget *vbox;
   GtkWidget *align;
   GtkWidget *button;
-  gchar *default_path;
-  gchar *tmp_dir;
   //const char *comp_name;
 
   gobj = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);
@@ -218,39 +210,11 @@
   gtk_widget_show (priv->check_burnfree);
   gtk_box_pack_start (GTK_BOX (vbox), priv->check_burnfree, FALSE, FALSE, BORDER);
 
-  /* create ISO ? */
-  priv->check_only_iso = gtk_check_button_new_with_mnemonic (_("Only create _ISO"));
-  gtk_widget_show (priv->check_only_iso);
-  gtk_box_pack_start (GTK_BOX (vbox), priv->check_only_iso, FALSE, FALSE, BORDER);
-  g_signal_connect (G_OBJECT (priv->check_only_iso), "toggled", G_CALLBACK (cb_check_only_iso_toggled), obj);
-
   align = gtk_alignment_new (0, 0, 0, 0);
   gtk_alignment_set_padding (GTK_ALIGNMENT (align), 0, 0, BORDER * 4, 0);
   gtk_widget_show (align);
   gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
 
-  priv->hbox_iso = gtk_hbox_new (FALSE, 0);
-  gtk_widget_show (priv->hbox_iso);
-  gtk_container_add (GTK_CONTAINER (align), priv->hbox_iso);
-  gtk_widget_set_sensitive (priv->hbox_iso, FALSE);
-
-  priv->entry_path_iso = gtk_entry_new ();
-  tmp_dir = xfburn_settings_get_string ("temporary-dir", g_get_tmp_dir ());
-  default_path = g_build_filename (tmp_dir, "xfburn.iso", NULL);
-  gtk_entry_set_text (GTK_ENTRY (priv->entry_path_iso), default_path);
-  g_free (default_path);
-  g_free (tmp_dir);
-  gtk_widget_show (priv->entry_path_iso);
-  gtk_box_pack_start (GTK_BOX (priv->hbox_iso), priv->entry_path_iso, FALSE, FALSE, 0);
-
-  img = gtk_image_new_from_stock (GTK_STOCK_DIRECTORY, GTK_ICON_SIZE_SMALL_TOOLBAR);
-  gtk_widget_show (img);
-  button = gtk_button_new ();
-  gtk_container_add (GTK_CONTAINER (button), img);
-  gtk_widget_show (button);
-  gtk_box_pack_start (GTK_BOX (priv->hbox_iso), button, FALSE, FALSE, 0);
-  g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (cb_browse_iso), obj);
-
   /* action buttons */
   button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
   gtk_widget_show (button);
@@ -311,35 +275,6 @@
 
 /* internals */
 static void
-cb_check_only_iso_toggled (GtkToggleButton * button, XfburnBurnAudioCdCompositionDialog * dialog)
-{
-  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
-  gboolean valid_disc;
-
-  gtk_widget_set_sensitive (priv->frame_device, !gtk_toggle_button_get_active (button));
-  xfburn_device_box_set_sensitive (XFBURN_DEVICE_BOX (priv->device_box), !gtk_toggle_button_get_active (button));
-  
-  gtk_widget_set_sensitive (priv->hbox_iso, gtk_toggle_button_get_active (button));
-  gtk_widget_set_sensitive (priv->check_eject, !gtk_toggle_button_get_active (button));
-  gtk_widget_set_sensitive (priv->check_burnfree, !gtk_toggle_button_get_active (button));
-  gtk_widget_set_sensitive (priv->check_dummy, !gtk_toggle_button_get_active (button));
-  if (!gtk_toggle_button_get_active (button)) {
-    g_object_get (G_OBJECT (priv->device_box), "valid", &valid_disc, NULL);
-    gtk_widget_set_sensitive (priv->button_proceed, valid_disc);
-  } else {
-    gtk_widget_set_sensitive (priv->button_proceed, TRUE);
-  }
-}
-
-static void
-cb_browse_iso (GtkButton * button, XfburnBurnAudioCdCompositionDialog * dialog)
-{
-  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
-  
-  xfburn_browse_for_file (GTK_ENTRY (priv->entry_path_iso), GTK_WINDOW (dialog));
-}
-
-static void
 cb_disc_refreshed (GtkWidget *device_box, XfburnDevice *device, XfburnBurnAudioCdCompositionDialog * dialog)
 {
   XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
@@ -352,83 +287,6 @@
 
 typedef struct {
   GtkWidget *dialog_progress;
-  struct burn_source *src;
-  gchar *iso_path;
-} ThreadWriteIsoParams;
-
-static void
-thread_write_iso (ThreadWriteIsoParams * params)
-{
-  GtkWidget *dialog_progress = params->dialog_progress;
-  gint fd;
-  guchar buf[2048];
-  glong size = 0;
-  glong written = 0;
-  guint i = 0;
-  int (*read_fn) (struct burn_source *src, unsigned char *buf, int size);
-
-  fd = open (params->iso_path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
-  if (fd == -1) {
-    /* could not create destination */
-    gchar err[256];
-    gchar *error_msg = NULL;
-
-    strerror_r (errno, err, 256);
-
-    error_msg = g_strdup_printf (_("Could not create destination ISO file: %s"), err);
-    xfburn_progress_dialog_burning_failed (XFBURN_PROGRESS_DIALOG (dialog_progress), error_msg);
-    g_free (error_msg);
-
-    goto end;
-  }
-
-  xfburn_progress_dialog_set_status_with_text (XFBURN_PROGRESS_DIALOG (dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_RUNNING, _("Writing ISO..."));
-
-  size = (glong) params->src->get_size (params->src);
-  if (params->src->read == NULL)
-    read_fn = params->src->read_xt;
-  else
-    read_fn = params->src->read;
-
-  /* FIXME: is size really always 2048? */
-  while (read_fn (params->src, buf, 2048) == 2048) {
-    if (write (fd, buf, 2048) < 2048) {
-      /* an error occured while writing */
-      gchar err[256];
-      gchar *error_msg = NULL;
-      
-      strerror_r (errno, err, 256);
-    
-      error_msg = g_strdup_printf (_("An error occured while writing ISO: %s"), err);
-      xfburn_progress_dialog_burning_failed (XFBURN_PROGRESS_DIALOG (dialog_progress), error_msg);
-      g_free (error_msg);
-      goto cleanup;
-    } else {
-      written += 2048;
-      i++;
-
-      if (i >= 1000) {
-	i = 0;
-	gdouble percent = 0;
-
-	percent = ((gdouble) written / (gdouble) size);
-
-	xfburn_progress_dialog_set_progress_bar_fraction (XFBURN_PROGRESS_DIALOG (dialog_progress), percent);
-      }
-    }
-  }
-  xfburn_progress_dialog_set_status_with_text (XFBURN_PROGRESS_DIALOG (dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_COMPLETED, _("Done"));
-
- cleanup:
-  close (fd);
- end:
-  burn_source_free (params->src);
-  g_free (params->iso_path);
-  g_free (params);
-}
-
-typedef struct {
-  GtkWidget *dialog_progress;
   XfburnDevice *device;
   GSList *tracks;
   gint speed;
@@ -587,8 +445,6 @@
   if (response_id == GTK_RESPONSE_OK) {
     GtkWidget *dialog_progress;
 
-    struct burn_source * src = NULL;
-
     /* If the name was the default, update the image volume id and volset id */
     /*
     if (priv->entry != NULL) {
@@ -604,40 +460,28 @@
     
     gtk_widget_show (dialog_progress);
 
-    if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_only_iso))) {
-      ThreadWriteIsoParams *params = NULL;
+    ThreadBurnCompositionParams *params = NULL;
+    XfburnDevice *device;
+    gint speed;
+    XfburnWriteMode write_mode;
+    //struct burn_source * src_fifo = NULL;
 
-      /* create a new iso */
-      params = g_new0 (ThreadWriteIsoParams, 1);
-      params->dialog_progress = dialog_progress;
-      params->src = src;
-      params->iso_path = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_path_iso)));
-      g_thread_create ((GThreadFunc) thread_write_iso, params, FALSE, NULL);
-    }
-    else {
-      ThreadBurnCompositionParams *params = NULL;
-      XfburnDevice *device;
-      gint speed;
-      XfburnWriteMode write_mode;
-      //struct burn_source * src_fifo = NULL;
+    device = xfburn_device_box_get_selected_device (XFBURN_DEVICE_BOX (priv->device_box));
+    speed = xfburn_device_box_get_speed (XFBURN_DEVICE_BOX (priv->device_box));
+    /* cdrskin burns audio with SAO */
+    write_mode = WRITE_MODE_SAO;
 
-      device = xfburn_device_box_get_selected_device (XFBURN_DEVICE_BOX (priv->device_box));
-      speed = xfburn_device_box_get_speed (XFBURN_DEVICE_BOX (priv->device_box));
-      /* cdrskin burns audio with SAO */
-      write_mode = WRITE_MODE_SAO;
-
-      /* burn composition */
-      params = g_new0 (ThreadBurnCompositionParams, 1);
-      params->dialog_progress = dialog_progress;
-      params->device = device;
-      params->tracks = priv->track_list;
-      params->speed = speed;
-      params->write_mode = write_mode;
-      params->eject = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_eject));
-      params->dummy = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_dummy));
-      params->burnfree = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_burnfree));
-      g_thread_create ((GThreadFunc) thread_burn_composition, params, FALSE, NULL);
-    }
+    /* burn composition */
+    params = g_new0 (ThreadBurnCompositionParams, 1);
+    params->dialog_progress = dialog_progress;
+    params->device = device;
+    params->tracks = priv->track_list;
+    params->speed = speed;
+    params->write_mode = write_mode;
+    params->eject = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_eject));
+    params->dummy = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_dummy));
+    params->burnfree = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_burnfree));
+    g_thread_create ((GThreadFunc) thread_burn_composition, params, FALSE, NULL);
   }
 }
 




More information about the Goodies-commits mailing list