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

David Mohr squisher at xfce.org
Fri Aug 22 07:20:24 CEST 2008


Author: squisher
Date: 2008-08-22 05:20:23 +0000 (Fri, 22 Aug 2008)
New Revision: 5285

Modified:
   xfburn/trunk/xfburn/xfburn-audio-composition.c
   xfburn/trunk/xfburn/xfburn-audio-composition.h
   xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
   xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.h
Log:
Basic structure for burning audio cds, compiles but does not burn yet

Modified: xfburn/trunk/xfburn/xfburn-audio-composition.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-audio-composition.c	2008-08-21 11:24:26 UTC (rev 5284)
+++ xfburn/trunk/xfburn/xfburn-audio-composition.c	2008-08-22 05:20:23 UTC (rev 5285)
@@ -50,9 +50,10 @@
 
 #include "xfburn-adding-progress.h"
 #include "xfburn-composition.h"
-#include "xfburn-data-disc-usage.h"
+#include "xfburn-disc-usage.h"
 #include "xfburn-main-window.h"
 #include "xfburn-utils.h"
+#include "xfburn-burn-audio-cd-composition-dialog.h"
 
 #define XFBURN_AUDIO_COMPOSITION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_AUDIO_COMPOSITION, XfburnAudioCompositionPrivate))
 
@@ -121,7 +122,8 @@
 static void tracks_changed (XfburnAudioComposition *ac);
 static gboolean cb_treeview_button_pressed (GtkTreeView * treeview, GdkEventButton * event, XfburnAudioComposition * dc);
 static void cb_selection_changed (GtkTreeSelection *selection, XfburnAudioComposition * dc);
-static void cb_begin_burn (XfburnDataDiscUsage * du, XfburnAudioComposition * dc);
+static GSList * generate_audio_src (XfburnAudioComposition * ac);
+static void cb_begin_burn (XfburnDiscUsage * du, XfburnAudioComposition * dc);
 static void cb_cell_artist_edited (GtkCellRenderer * renderer, gchar * path, gchar * newtext, XfburnAudioComposition * dc);
 static void cb_cell_title_edited (GtkCellRenderer * renderer, gchar * path, gchar * newtext, XfburnAudioComposition * dc);
 
@@ -470,26 +472,42 @@
   DBG ("hide");
 }
 
+static GSList *
+generate_audio_src (XfburnAudioComposition * ac)
+{
+  XfburnAudioCompositionPrivate *priv = XFBURN_AUDIO_COMPOSITION_GET_PRIVATE (ac);
+  GtkTreeModel *model;
+  GtkTreeIter iter;
+  GSList *list = NULL;
+
+  model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->content));
+  if (gtk_tree_model_get_iter_first (model, &iter)) {
+    do {
+      XfburnAudioTrack *track = g_new0 (XfburnAudioTrack, 1);
+
+      gtk_tree_model_get (model, &iter, 
+                          AUDIO_COMPOSITION_COLUMN_CONTENT, &track->inputfile,
+                          AUDIO_COMPOSITION_COLUMN_POS, &track->pos,
+                          -1);
+
+      list = g_slist_append (list, track);
+
+    } while (gtk_tree_model_iter_next (model, &iter));
+  }
+
+  return list;
+}
+
 static void
-cb_begin_burn (XfburnDataDiscUsage * du, XfburnAudioComposition * dc)
+cb_begin_burn (XfburnDiscUsage * du, XfburnAudioComposition * dc)
 {
   XfburnMainWindow *mainwin = xfburn_main_window_get_instance ();
   GtkWidget *dialog = NULL;
-  struct burn_source *src;
-  /*
-  IsoImage *image = NULL;
+  GSList *src;
 
-  if (!iso_init()) {
-    g_critical ("Could not initialize libisofs!");
-    return;
-  }
-
-  image = generate_iso_image (XFBURN_AUDIO_COMPOSITION (dc));
-  */
-
   src = generate_audio_src (dc);
   
-  switch (xfburn_data_disc_usage_get_disc_type (du)) {
+  switch (xfburn_disc_usage_get_disc_type (du)) {
   case CD_DISC:
     dialog = xfburn_burn_audio_cd_composition_dialog_new (src);
     break;
@@ -1268,7 +1286,7 @@
                       AUDIO_COMPOSITION_COLUMN_TYPE, &type,
                       -1);
   
-  DBG ("dest = %p", dest);
+  //DBG ("dest = %p", dest);
   if (dest == NULL)
     gtk_tree_store_append (GTK_TREE_STORE (model), iter_new, dest);                          
   else switch (position) {
@@ -1288,7 +1306,7 @@
         path_level = gtk_tree_path_new_first ();
       }
     
-    /*
+      /*
       if (file_exists_on_same_level (model, path_level, FALSE, name)) {
         xfce_warn (_("A file named \"%s\" already exists in this directory, the file hasn't been added"), name);
         goto cleanup;

Modified: xfburn/trunk/xfburn/xfburn-audio-composition.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-audio-composition.h	2008-08-21 11:24:26 UTC (rev 5284)
+++ xfburn/trunk/xfburn/xfburn-audio-composition.h	2008-08-22 05:20:23 UTC (rev 5285)
@@ -52,6 +52,14 @@
   AUDIO_COMPOSITION_DND_TARGET_TEXT_URI_LIST,
 };
 
+typedef struct
+{
+  gchar *inputfile;
+  gint pos;
+  gchar *artist;
+  gchar *title;
+} XfburnAudioTrack;
+
 GtkType xfburn_audio_composition_get_type (void);
 
 GtkWidget *xfburn_audio_composition_new (void);

Modified: xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-08-21 11:24:26 UTC (rev 5284)
+++ xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.c	2008-08-22 05:20:23 UTC (rev 5285)
@@ -38,15 +38,15 @@
 #include "xfburn-settings.h"
 
 #include "xfburn-device-box.h"
-#include "xfburn-burn-data-composition-base-dialog.h"
+#include "xfburn-burn-audio-cd-composition-dialog.h"
 #include "xfburn-progress-dialog.h"
 #include "xfburn-perform-burn.h"
 
-#define XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG, XfburnBurnDataCompositionBaseDialogPrivate))
+#define XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG, XfburnBurnAudioCdCompositionDialogPrivate))
 
 typedef struct
 {
-  IsoImage *image;
+  GSList *track_list;
 
   GtkWidget *frame_device;
   GtkWidget *device_box;
@@ -67,11 +67,11 @@
   */
 
   gint response;
-} XfburnBurnDataCompositionBaseDialogPrivate;
+} XfburnBurnAudioCdCompositionDialogPrivate;
 
 enum {
   PROP_0,
-  PROP_IMAGE
+  PROP_TRACK_LIST,
 };
 
 /*
@@ -88,76 +88,76 @@
 */
 
 /* prototypes */
-static void xfburn_burn_data_composition_base_dialog_class_init (XfburnBurnDataCompositionBaseDialogClass * klass);
-static GObject * xfburn_burn_data_composition_base_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties);
-static void xfburn_burn_data_composition_base_dialog_finalize (GObject * object);
+static void xfburn_burn_audio_cd_composition_dialog_class_init (XfburnBurnAudioCdCompositionDialogClass * klass);
+static GObject * xfburn_burn_audio_cd_composition_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties);
+static void xfburn_burn_audio_cd_composition_dialog_finalize (GObject * object);
 
-static void xfburn_burn_data_composition_base_dialog_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec);
-static void xfburn_burn_data_composition_base_dialog_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec);
+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);
 
 /*
  * Disabled: change button_proceed functionality
-GtkWidget * create_proceed_button (XfburnBurnDataCompositionBaseDialog * dialog, const gchar *stock, const gchar *text);
-void update_proceed_button (XfburnBurnDataCompositionBaseDialog * dialog);
-static void cb_proceed_clicked (GtkButton * button, XfburnBurnDataCompositionBaseDialog * dialog);
+GtkWidget * create_proceed_button (XfburnBurnAudioCdCompositionDialog * dialog, const gchar *stock, const gchar *text);
+void update_proceed_button (XfburnBurnAudioCdCompositionDialog * dialog);
+static void cb_proceed_clicked (GtkButton * button, XfburnBurnAudioCdCompositionDialog * dialog);
 */
-static void cb_check_only_iso_toggled (GtkToggleButton * button, XfburnBurnDataCompositionBaseDialog * dialog);
-static void cb_browse_iso (GtkButton * button, XfburnBurnDataCompositionBaseDialog * dialog);
-static void cb_disc_refreshed (GtkWidget *device_box, XfburnDevice *device, XfburnBurnDataCompositionBaseDialog * dialog);
-static void cb_dialog_response (XfburnBurnDataCompositionBaseDialog * dialog, gint response_id,
-                                XfburnBurnDataCompositionBaseDialogPrivate * priv);
+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);
 
 /* globals */
 static XfceTitledDialogClass *parent_class = NULL;
 
 GtkType
-xfburn_burn_data_composition_base_dialog_get_type ()
+xfburn_burn_audio_cd_composition_dialog_get_type ()
 {
   static GtkType type = 0;
 
   if (type == 0) {
     static const GTypeInfo our_info = {
-      sizeof (XfburnBurnDataCompositionBaseDialogClass),
+      sizeof (XfburnBurnAudioCdCompositionDialogClass),
       NULL,
       NULL,
-      (GClassInitFunc) xfburn_burn_data_composition_base_dialog_class_init,
+      (GClassInitFunc) xfburn_burn_audio_cd_composition_dialog_class_init,
       NULL,
       NULL,
-      sizeof (XfburnBurnDataCompositionBaseDialog),
+      sizeof (XfburnBurnAudioCdCompositionDialog),
       0,
       NULL,
     };
 
-    type = g_type_register_static (XFCE_TYPE_TITLED_DIALOG, "XfburnBurnDataCompositionBaseDialog", &our_info, 0);
+    type = g_type_register_static (XFCE_TYPE_TITLED_DIALOG, "XfburnBurnAudioCdCompositionDialog", &our_info, 0);
   }
 
   return type;
 }
 
 static void
-xfburn_burn_data_composition_base_dialog_class_init (XfburnBurnDataCompositionBaseDialogClass * klass)
+xfburn_burn_audio_cd_composition_dialog_class_init (XfburnBurnAudioCdCompositionDialogClass * klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
   parent_class = g_type_class_peek_parent (klass);
-  g_type_class_add_private (klass, sizeof (XfburnBurnDataCompositionBaseDialogPrivate));
+  g_type_class_add_private (klass, sizeof (XfburnBurnAudioCdCompositionDialogPrivate));
   
-  object_class->constructor = xfburn_burn_data_composition_base_dialog_constructor;
-  object_class->finalize = xfburn_burn_data_composition_base_dialog_finalize;
-  object_class->get_property = xfburn_burn_data_composition_base_dialog_get_property;
-  object_class->set_property = xfburn_burn_data_composition_base_dialog_set_property;
+  object_class->constructor = xfburn_burn_audio_cd_composition_dialog_constructor;
+  object_class->finalize = xfburn_burn_audio_cd_composition_dialog_finalize;
+  object_class->get_property = xfburn_burn_audio_cd_composition_dialog_get_property;
+  object_class->set_property = xfburn_burn_audio_cd_composition_dialog_set_property;
 
   /* properties */
-  g_object_class_install_property (object_class, PROP_IMAGE,
-				   g_param_spec_pointer ("image", "Image", "Image", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+  g_object_class_install_property (object_class, PROP_TRACK_LIST,
+				   g_param_spec_pointer ("track-list", "Track List", "Track List", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
 }
 
 static GObject *
-xfburn_burn_data_composition_base_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
+xfburn_burn_audio_cd_composition_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
 {
   GObject *gobj;
-  XfburnBurnDataCompositionBaseDialog *obj;
-  XfburnBurnDataCompositionBaseDialogPrivate *priv;
+  XfburnBurnAudioCdCompositionDialog *obj;
+  XfburnBurnAudioCdCompositionDialogPrivate *priv;
   
   GdkPixbuf *icon = NULL;
   GtkBox *box;
@@ -168,11 +168,11 @@
   GtkWidget *button;
   gchar *default_path;
   gchar *tmp_dir;
-  const char *comp_name;
+  //const char *comp_name;
 
   gobj = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);
-  obj = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG (gobj);
-  priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (obj);
+  obj = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG (gobj);
+  priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (obj);
   box = GTK_BOX (GTK_DIALOG (obj)->vbox);
 
   gtk_window_set_title (GTK_WINDOW (obj), _("Burn Composition"));
@@ -192,6 +192,7 @@
   gtk_box_pack_start (box, priv->frame_device, FALSE, FALSE, BORDER);
 
   /* composition name */
+  /*
   comp_name = iso_image_get_volume_id (priv->image);
   if (strcmp (comp_name, _(DATA_COMPOSITION_DEFAULT_NAME)) == 0) {
     GtkWidget *label;
@@ -214,6 +215,7 @@
   } else {
     priv->entry = NULL;
   }
+  */
 
   /* options */
   vbox = gtk_vbox_new (FALSE, 0);
@@ -296,13 +298,13 @@
 }
 
 static void
-xfburn_burn_data_composition_base_dialog_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+xfburn_burn_audio_cd_composition_dialog_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (object);
+  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (object);
 
   switch (prop_id) {
-  case PROP_IMAGE:
-    g_value_set_pointer (value, priv->image);
+  case PROP_TRACK_LIST:
+    g_value_set_pointer (value, priv->track_list);
     break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -311,13 +313,13 @@
 }
 
 static void
-xfburn_burn_data_composition_base_dialog_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+xfburn_burn_audio_cd_composition_dialog_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (object);
+  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (object);
 
   switch (prop_id) {
-  case PROP_IMAGE:
-    priv->image = g_value_get_pointer (value);
+  case PROP_TRACK_LIST:
+    priv->track_list= g_value_get_pointer (value);
     break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -326,12 +328,10 @@
 }
 
 static void
-xfburn_burn_data_composition_base_dialog_finalize (GObject * object)
+xfburn_burn_audio_cd_composition_dialog_finalize (GObject * object)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (object);
+  //XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (object);
 
-  iso_image_unref (priv->image);
-
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -339,9 +339,9 @@
 /*
  * Disabled: change button_proceed functionality
 GtkWidget *
-create_proceed_button (XfburnBurnDataCompositionBaseDialog * dialog, const gchar *stock, const gchar *text)
+create_proceed_button (XfburnBurnAudioCdCompositionDialog * dialog, const gchar *stock, const gchar *text)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (dialog);
+  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
   GtkWidget *button, *align, *image, *hbox, *label;
 
   priv->button_proceed = button = gtk_button_new ();
@@ -364,9 +364,9 @@
 }
 
 void 
-update_proceed_button (XfburnBurnDataCompositionBaseDialog * dialog)
+update_proceed_button (XfburnBurnAudioCdCompositionDialog * dialog)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (dialog);
+  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
 
   gtk_label_set_text (GTK_LABEL (priv->label_proceed), _(proceed_text[priv->response]));
   gtk_image_set_from_stock (GTK_IMAGE (priv->image_proceed), proceed_image[priv->response], GTK_ICON_SIZE_BUTTON);
@@ -374,9 +374,9 @@
 */
 
 static void
-cb_check_only_iso_toggled (GtkToggleButton * button, XfburnBurnDataCompositionBaseDialog * dialog)
+cb_check_only_iso_toggled (GtkToggleButton * button, XfburnBurnAudioCdCompositionDialog * dialog)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (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));
@@ -397,23 +397,23 @@
 /*
  * Disabled: change button_proceed functionality
 static void
-cb_proceed_clicked (GtkButton * button, XfburnBurnDataCompositionBaseDialog * dialog)
+cb_proceed_clicked (GtkButton * button, XfburnBurnAudioCdCompositionDialog * dialog)
 {
 }
 */
 
 static void
-cb_browse_iso (GtkButton * button, XfburnBurnDataCompositionBaseDialog * dialog)
+cb_browse_iso (GtkButton * button, XfburnBurnAudioCdCompositionDialog * dialog)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (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, XfburnBurnDataCompositionBaseDialog * dialog)
+cb_disc_refreshed (GtkWidget *device_box, XfburnDevice *device, XfburnBurnAudioCdCompositionDialog * dialog)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (dialog);
+  XfburnBurnAudioCdCompositionDialogPrivate *priv = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
   gboolean valid_disc;
 
   g_object_get (G_OBJECT (priv->device_box), "valid", &valid_disc, NULL);
@@ -421,10 +421,10 @@
   /*
    * Disabled: change button_proceed functionality
   if (!valid_disc && xfburn_device_list_get_disc_status () == BURN_DISC_FULL && xfburn_device_list_disc_is_erasable ()) {
-    priv->response = XFBURN_BURN_DATA_COMPOSITION_DIALOG_BLANK;
+    priv->response = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_BLANK;
     valid_disc = TRUE;
   } else {
-    priv->response = XFBURN_BURN_DATA_COMPOSITION_DIALOG_BURN;
+    priv->response = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_BURN;
   }
   update_proceed_button (dialog);
   */
@@ -616,41 +616,24 @@
 }
 
 static void
-cb_dialog_response (XfburnBurnDataCompositionBaseDialog * dialog, gint response_id, XfburnBurnDataCompositionBaseDialogPrivate * priv)
+cb_dialog_response (XfburnBurnAudioCdCompositionDialog * dialog, gint response_id, XfburnBurnAudioCdCompositionDialogPrivate * priv)
 {
   if (response_id == GTK_RESPONSE_OK) {
     GtkWidget *dialog_progress;
 
     struct burn_source * src = NULL;
-    IsoWriteOpts *write_opts;
 
     /* If the name was the default, update the image volume id and volset id */
+    /*
     if (priv->entry != NULL) {
       const gchar * comp_name = gtk_entry_get_text (GTK_ENTRY (priv->entry));
       iso_image_set_volume_id (priv->image, comp_name);
       iso_image_set_volset_id (priv->image, comp_name);
     }
-
-    /* Sets profile 0 [basic] */
-    iso_write_opts_new (&write_opts, 0);
-
-    iso_write_opts_set_iso_level (write_opts, 2);
-    iso_write_opts_set_rockridge (write_opts, TRUE);
-    iso_write_opts_set_joliet (write_opts, TRUE);
-    iso_write_opts_set_allow_deep_paths (write_opts, TRUE);
-    /* not sure if we want that
-    iso_write_opts_set_omit_version_numbers (write_opts, TRUE);
     */
 
-    if (iso_image_create_burn_source (priv->image, write_opts, &src) < 0) {
-      /* could not create source */
-      xfce_err (_("Could not create ISO source structure"));
-      return;
-    }
+    /* FIXME: create burn source from priv->track_list */
 
-    /* iso_image_create_burn_source copies the data it needs */
-    iso_write_opts_free (write_opts);
-
     dialog_progress = xfburn_progress_dialog_new (GTK_WINDOW (dialog));
     gtk_window_set_transient_for (GTK_WINDOW (dialog_progress), gtk_window_get_transient_for (GTK_WINDOW (dialog)));
     gtk_widget_hide (GTK_WIDGET (dialog));
@@ -678,7 +661,6 @@
       speed = xfburn_device_box_get_speed (XFBURN_DEVICE_BOX (priv->device_box));
       write_mode = xfburn_device_box_get_mode (XFBURN_DEVICE_BOX (priv->device_box));
 
-      /* FIXME: how much buffer space do we need? Probably should put this into settings */
       src_fifo = burn_fifo_source_new (src, 2048, xfburn_settings_get_int ("fifo-size", XFBURN_FIFO_DEFAULT_SIZE) / 2, 0);
       burn_source_free (src);
 
@@ -700,11 +682,11 @@
 
 /* public */
 GtkWidget *
-xfburn_burn_data_composition_base_dialog_new (IsoImage *image)
+xfburn_burn_audio_cd_composition_dialog_new (GSList *track_list)
 {
-  XfburnBurnDataCompositionBaseDialog *obj;
+  XfburnBurnAudioCdCompositionDialog *obj;
 
-  obj = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG (g_object_new (XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG, "image", image, NULL));
+  obj = XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG (g_object_new (XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG, "track-list", track_list, NULL));
   
   return GTK_WIDGET (obj);
 }

Modified: xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.h	2008-08-21 11:24:26 UTC (rev 5284)
+++ xfburn/trunk/xfburn/xfburn-burn-audio-cd-composition-dialog.h	2008-08-22 05:20:23 UTC (rev 5285)
@@ -17,8 +17,8 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#ifndef __XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_H__
-#define __XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_H__
+#ifndef __XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_H__
+#define __XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_H__
 
 #ifdef	HAVE_CONFIG_H
 #include <config.h>
@@ -31,32 +31,32 @@
 
 G_BEGIN_DECLS
 
-#define XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG         (xfburn_burn_data_composition_base_dialog_get_type ())
-#define XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG, XfburnBurnDataCompositionBaseDialog))
-#define XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG, XfburnBurnDataCompositionBaseDialogClass))
-#define XFBURN_IS_BURN_DATA_COMPOSITION_BASE_DIALOG(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG))
-#define XFBURN_IS_BURN_DATA_COMPOSITION_BASE_DIALOG_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG))
-#define XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_BURN_DATA_COMPOSITION_BASE_DIALOG, XfburnBurnDataCompositionBaseDialogClass))
+#define XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG         (xfburn_burn_audio_cd_composition_dialog_get_type ())
+#define XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG, XfburnBurnAudioCdCompositionDialog))
+#define XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG, XfburnBurnAudioCdCompositionDialogClass))
+#define XFBURN_IS_BURN_AUDIO_CD_COMPOSITION_DIALOG(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG))
+#define XFBURN_IS_BURN_AUDIO_CD_COMPOSITION_DIALOG_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG))
+#define XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_BURN_AUDIO_CD_COMPOSITION_DIALOG, XfburnBurnAudioCdCompositionDialogClass))
 
 enum {
-  XFBURN_BURN_DATA_COMPOSITION_DIALOG_CANCEL = -1,
-  XFBURN_BURN_DATA_COMPOSITION_DIALOG_BURN,
-  XFBURN_BURN_DATA_COMPOSITION_DIALOG_BLANK,
+  XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_CANCEL = -1,
+  XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_BURN,
+  XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_BLANK,
 };
 
 typedef struct
 {
   XfceTitledDialog parent;
-} XfburnBurnDataCompositionBaseDialog;
+} XfburnBurnAudioCdCompositionDialog;
 
 typedef struct
 {
   XfceTitledDialogClass parent_class;
-} XfburnBurnDataCompositionBaseDialogClass;
+} XfburnBurnAudioCdCompositionDialogClass;
 
-GtkType xfburn_burn_data_composition_base_dialog_get_type ();
+GtkType xfburn_burn_audio_cd_composition_dialog_get_type ();
 
-GtkWidget *xfburn_burn_data_composition_base_dialog_new (IsoImage *image);
+GtkWidget *xfburn_burn_audio_cd_composition_dialog_new (GSList *tracklist);
 
 G_END_DECLS
-#endif /* XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_H */
+#endif /* XFBURN_BURN_AUDIO_CD_COMPOSITION_DIALOG_H */




More information about the Goodies-commits mailing list