[gnac/devel] Code cleanup



commit dd52624ff96760ee0b14beace3973df91b8fb764
Author: BenoÃt Dupasquier <bdupasqu src gnome org>
Date:   Wed Nov 16 17:45:38 2011 +0000

    Code cleanup

 libgnac/libgnac-converter.c          |  322 ++++++++++++++--------------------
 libgnac/libgnac-gst-utils.c          |   31 ++--
 libgnac/libgnac-gst.c                |   19 +-
 libgnac/libgnac-metadata.c           |  120 ++++++-------
 src/gnac-main.c                      |   91 +++++-----
 src/gnac-playlist.c                  |    3 +
 src/gnac-utils.c                     |    2 +
 src/profiles/gnac-profiles-manager.c |   11 +-
 8 files changed, 260 insertions(+), 339 deletions(-)
---
diff --git a/libgnac/libgnac-converter.c b/libgnac/libgnac-converter.c
index 5f97c46..4d89d92 100644
--- a/libgnac/libgnac-converter.c
+++ b/libgnac/libgnac-converter.c
@@ -92,12 +92,11 @@ libgnac_converter_init(LibgnacConverter *self)
   priv->queue = g_queue_new();
   priv->queue_copy = NULL;
 
-  priv->file_table = g_hash_table_new_full(g_str_hash, 
-        g_str_equal, 
-        g_free, 
-        (GDestroyNotify)libgnac_item_free);
+  priv->file_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+      (GDestroyNotify) libgnac_item_free);
+
+  priv->profile = (LibgnacProfile *) g_malloc(sizeof(LibgnacProfile));
 
-  priv->profile = (LibgnacProfile*)g_malloc(sizeof(LibgnacProfile));
   priv->profile->audio_desc = NULL;
   priv->profile->video_desc = NULL;
   priv->profile->muxer_desc = NULL;
@@ -112,35 +111,36 @@ libgnac_converter_init(LibgnacConverter *self)
   priv->rename_pattern = NULL;
   priv->folder_hierarchy = NULL;
   priv->folder_type = 0;
+
+  /* Init gstreamer plugins helper */
+  gst_pb_utils_init();
 }
 
 
 static void
-libgnac_converter_dispose(GObject *gobject)
+libgnac_converter_dispose(GObject *object)
 {
-  LibgnacConverter *self = LIBGNAC_CONVERTER(gobject);
+  LibgnacConverter *self = LIBGNAC_CONVERTER(object);
 
-  if (self->priv->file_table)
-  {
+  if (self->priv->file_table) {
     g_hash_table_unref(self->priv->file_table);
     self->priv->file_table = NULL;
   }
 
-  if (self->priv->queue)
-  {
+  if (self->priv->queue) {
     g_queue_free(self->priv->queue);
     self->priv->queue = NULL;
   }
 
   /* Chain up to the parent class */
-  G_OBJECT_CLASS(libgnac_converter_parent_class)->dispose(gobject);
+  G_OBJECT_CLASS(libgnac_converter_parent_class)->dispose(object);
 }
 
 
 static void
-libgnac_converter_finalize(GObject *gobject)
+libgnac_converter_finalize(GObject *object)
 {
-  LibgnacConverter *self = LIBGNAC_CONVERTER(gobject);
+  LibgnacConverter *self = LIBGNAC_CONVERTER(object);
 
   g_free(self->priv->profile->audio_desc);
   g_free(self->priv->profile->muxer_desc);
@@ -152,7 +152,7 @@ libgnac_converter_finalize(GObject *gobject)
   libgnac_output_finalize();
 
   /* Chain up to the parent class */
-  G_OBJECT_CLASS(libgnac_converter_parent_class)->finalize(gobject);
+  G_OBJECT_CLASS(libgnac_converter_parent_class)->finalize(object);
 }
 
 
@@ -160,7 +160,7 @@ static void
 libgnac_converter_get_property(GObject    *object,
                                guint       property_id,
                                GValue     *value,
-                               GParamSpec *pspec)
+                               GParamSpec *param)
 {
   LibgnacConverter *self = LIBGNAC_CONVERTER(object);
 
@@ -207,7 +207,7 @@ libgnac_converter_get_property(GObject    *object,
     break;
 
     default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+      G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, param);
     break;
   }
 }
@@ -217,7 +217,7 @@ static void
 libgnac_converter_set_property(GObject      *object,
                                guint         property_id,
                                const GValue *value,
-                               GParamSpec   *pspec)
+                               GParamSpec   *param)
 {
   LibgnacConverter *self = LIBGNAC_CONVERTER(object);
 
@@ -225,19 +225,16 @@ libgnac_converter_set_property(GObject      *object,
   {
     case PROP_AUDIO_PIPELINE_DESC:
       g_free(self->priv->profile->audio_desc);
-      self->priv->profile->audio_desc = NULL;
       self->priv->profile->audio_desc = g_value_dup_string(value);
     break;
 
     case PROP_MUXER_PIPELINE_DESC:
       g_free(self->priv->profile->muxer_desc);
-      self->priv->profile->muxer_desc = NULL;
       self->priv->profile->muxer_desc = g_value_dup_string(value);
     break;
 
     case PROP_VIDEO_PIPELINE_DESC:
       g_free(self->priv->profile->video_desc);
-      self->priv->profile->video_desc = NULL;
       self->priv->profile->video_desc = g_value_dup_string(value);
     break;
 
@@ -247,13 +244,11 @@ libgnac_converter_set_property(GObject      *object,
 
     case PROP_RENAME_PATTERN:
       g_free(self->priv->rename_pattern);
-      self->priv->rename_pattern = NULL;
       self->priv->rename_pattern = g_value_dup_string(value);
     break;
 
     case PROP_FOLDER_HIERARCHY:
       g_free(self->priv->folder_hierarchy);
-      self->priv->folder_hierarchy = NULL;
       self->priv->folder_hierarchy = g_value_dup_string(value);
     break;
 
@@ -263,18 +258,16 @@ libgnac_converter_set_property(GObject      *object,
 
     case PROP_FOLDER_PATH:
       g_free(self->priv->folder_path);
-      self->priv->folder_path = NULL;
       self->priv->folder_path = g_value_dup_string(value);
     break;
 
     case PROP_EXTENSION:
       g_free(self->priv->extension);
-      self->priv->extension = NULL;
       self->priv->extension = g_value_dup_string(value);
     break;
 
     default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+      G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, param);
     break;
   }
 }
@@ -296,223 +289,154 @@ libgnac_converter_allow_overwrite_accumulator(GSignalInvocationHint *ihint,
 
 
 static void
-libgnac_converter_class_init(LibgnacConverterClass *klass)
+libgnac_converter_init_properties(GObjectClass *object_class)
 {
-  GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
-  GParamSpec *pspec;
-
-  g_type_class_add_private(klass, sizeof(LibgnacConverterPrivate));
-
-  gobject_class->dispose = libgnac_converter_dispose;
-  gobject_class->finalize = libgnac_converter_finalize;
-
-  gobject_class->set_property = libgnac_converter_set_property;
-  gobject_class->get_property = libgnac_converter_get_property;
+  GParamSpec *param;
 
   /* Audio pipeline desc */
-  pspec = g_param_spec_string("audio-description",
-                              "Audio pipeline description",
-                              "Audio pipeline description",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_AUDIO_PIPELINE_DESC,
-                                  pspec);
+  param = g_param_spec_string("audio-description",
+      "Audio pipeline description", "Audio pipeline description",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_AUDIO_PIPELINE_DESC, param);
 
   /* Muxer pipeline desc */
-  pspec = g_param_spec_string("muxer-description",
-                              "Muxer pipeline description",
-                              "Muxer pipeline description",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class,
-                                  PROP_MUXER_PIPELINE_DESC,
-                                  pspec);
+  param = g_param_spec_string("muxer-description",
+      "Muxer pipeline description", "Muxer pipeline description",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_MUXER_PIPELINE_DESC, param);
 
   /* Video pipeline desc */
-  pspec = g_param_spec_string("video-description",
-                              "Video pipeline description",
-                              "Video pipeline description",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class,
-                                  PROP_VIDEO_PIPELINE_DESC,
-                                  pspec);
+  param = g_param_spec_string("video-description",
+      "Video pipeline description", "Video pipeline description",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_VIDEO_PIPELINE_DESC, param);
 
   /* Folder hierarchy */
-  pspec = g_param_spec_string("folder-hierarchy",
-                              "Folder Hierarchy",
-                              "Folder hierarchy to create",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_FOLDER_HIERARCHY,
-                                  pspec);
+  param = g_param_spec_string("folder-hierarchy",
+      "Folder Hierarchy", "Folder hierarchy to create",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_FOLDER_HIERARCHY, param);
 
   /* Folder path */
-  pspec = g_param_spec_string("folder-path",
-                              "Folder Path",
-                              "Path to the output folder",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_FOLDER_PATH,
-                                  pspec);
+  param = g_param_spec_string("folder-path",
+      "Folder Path", "Path to the output folder",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_FOLDER_PATH, param);
 
   /* Extension */
-  pspec = g_param_spec_string("extension",
-                              "File Extension",
-                              "Output's file extension",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_EXTENSION,
-                                  pspec);
+  param = g_param_spec_string("extension",
+      "File Extension", "Output's file extension",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_EXTENSION, param);
 
   /* Strip special characters */
-  pspec = g_param_spec_boolean("strip-special",
-                              "Strip special",
-                              "Strip special characters",
-                              FALSE,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_STRIP_SPECIAL,
-                                  pspec);
+  param = g_param_spec_boolean("strip-special",
+      "Strip special", "Strip special characters",
+      FALSE, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_STRIP_SPECIAL, param);
 
   /* Rename pattern */
-  pspec = g_param_spec_string("rename-pattern",
-                              "Rename Pattern",
-                              "Output's rename pattern",
-                              NULL,
-                              G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_RENAME_PATTERN,
-                                  pspec);
+  param = g_param_spec_string("rename-pattern",
+      "Rename Pattern", "Output's rename pattern",
+      NULL, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_RENAME_PATTERN, param);
 
   /* Folder type */
-  pspec = g_param_spec_int("folder-type",
-                           "Folder type",
-                           "Output's folder type",
-                           0, FOLDER_TYPE_N, 0,
-                           G_PARAM_READWRITE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_FOLDER_TYPE,
-                                  pspec);
+  param = g_param_spec_int("folder-type",
+      "Folder type", "Output's folder type",
+      0, FOLDER_TYPE_N, 0, G_PARAM_READWRITE);
+  g_object_class_install_property(object_class, PROP_FOLDER_TYPE, param);
 
   /* Nb files */
-  pspec = g_param_spec_int("nb-files",
-                           "File number",
-                           "Output's nb files",
-                           0, G_MAXINT, 0,
-                           G_PARAM_READABLE);
-
-  g_object_class_install_property(gobject_class, 
-                                  PROP_NB_FILES,
-                                  pspec);
-
+  param = g_param_spec_int("nb-files",
+      "File number", "Output's nb files",
+      0, G_MAXINT, 0, G_PARAM_READABLE);
+  g_object_class_install_property(object_class, PROP_NB_FILES, param);
+}
 
-  /* Signals */
 
+static void
+libgnac_converter_init_signals(GObjectClass *object_class)
+{
   signals[OVERWRITE] = g_signal_new("allow-overwrite",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, overwrite),
       libgnac_converter_allow_overwrite_accumulator, NULL,
       g_cclosure_user_marshal_BOOLEAN__POINTER,
       G_TYPE_BOOLEAN, 1, G_TYPE_POINTER);
 
   signals[PROGRESS] = g_signal_new("progress",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, progress),
       NULL, NULL,
       g_cclosure_user_marshal_VOID__UINT_FLOAT_UINT64,
       G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_FLOAT, G_TYPE_UINT64);
 
   signals[FILE_ADDED] = g_signal_new("file-added",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, file_added),
       NULL, NULL,
       g_cclosure_marshal_VOID__STRING,
       G_TYPE_NONE, 1, G_TYPE_STRING);
 
   signals[FILE_REMOVED] = g_signal_new("file-removed",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, file_removed),
       NULL, NULL,
       g_cclosure_marshal_VOID__STRING,
       G_TYPE_NONE, 1, G_TYPE_STRING);
 
   signals[FILE_STARTED] = g_signal_new("file-started",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, file_started),
       NULL, NULL,
       g_cclosure_marshal_VOID__STRING,
       G_TYPE_NONE, 1, G_TYPE_STRING);
 
   signals[FILE_COMPLETED] = g_signal_new("file-completed",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, file_completed),
       NULL, NULL,
       g_cclosure_marshal_VOID__STRING,
       G_TYPE_NONE, 1, G_TYPE_STRING);
 
   signals[FILES_CLEARED] = g_signal_new("files-cleared",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, files_cleared),
       NULL, NULL,
       g_cclosure_marshal_VOID__VOID,
       G_TYPE_NONE, 0);
 
   signals[STARTED] = g_signal_new("started",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, started),
       NULL, NULL,
       g_cclosure_marshal_VOID__VOID,
       G_TYPE_NONE, 0);
 
   signals[STOPPED] = g_signal_new("stopped",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, stopped),
       NULL, NULL,
       g_cclosure_marshal_VOID__VOID,
       G_TYPE_NONE, 0);
 
   signals[COMPLETION] = g_signal_new("completion",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, completion),
       NULL, NULL,
       g_cclosure_marshal_VOID__VOID,
       G_TYPE_NONE, 0);
 
   signals[PLUGIN_INSTALL] = g_signal_new("plugin-install",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, plugin_install),
       NULL, NULL,
       g_cclosure_marshal_VOID__BOOLEAN,
       G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
 
   signals[ERROR] = g_signal_new("error",
-      G_TYPE_FROM_CLASS(gobject_class),
-      G_SIGNAL_RUN_LAST,
+      G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST,
       G_STRUCT_OFFSET(LibgnacConverterClass, error),
       NULL, NULL,
       g_cclosure_user_marshal_VOID__STRING_STRING_POINTER,
@@ -520,14 +444,29 @@ libgnac_converter_class_init(LibgnacConverterClass *klass)
 }
 
 
-/* private methods */
+static void
+libgnac_converter_class_init(LibgnacConverterClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+  g_type_class_add_private(klass, sizeof(LibgnacConverterPrivate));
+
+  object_class->dispose = libgnac_converter_dispose;
+  object_class->finalize = libgnac_converter_finalize;
+
+  object_class->set_property = libgnac_converter_set_property;
+  object_class->get_property = libgnac_converter_get_property;
+
+  libgnac_converter_init_properties(object_class);
+  libgnac_converter_init_signals(object_class);
+}
+
 
 static gboolean
 libgnac_converter_start_next(LibgnacConverter *self)
 {
   GError *err = NULL;
   LibgnacConverterPrivate *priv;
-  LibgnacMediaItem *item = NULL;
   gchar *key = NULL;
   gchar *uri = NULL;
 
@@ -537,16 +476,16 @@ libgnac_converter_start_next(LibgnacConverter *self)
 
   do {
     LibgnacTags *tags;
+    LibgnacMediaItem *item = NULL;
 
     key = g_queue_pop_head(priv->queue_copy);
-    if (key) item = g_hash_table_lookup(priv->file_table, key);
-    else item = NULL;
+    if (key) {
+      item = g_hash_table_lookup(priv->file_table, key);
+    }
 
     if (!item) return FALSE;
 
-    if (err) {
-      g_clear_error(&err);
-    } 
+    g_clear_error(&err);
 
     priv->n_converted++;
 
@@ -602,8 +541,6 @@ libgnac_converter_restart_current(LibgnacConverter *self)
 }
 
 
-/* public methods */
-
 GObject *
 libgnac_converter_new(LibgnacMetadata *mdata)
 {
@@ -631,6 +568,8 @@ libgnac_converter_get_config(LibgnacConverter *self)
 void
 libgnac_converter_free_config(LibgnacOutputConfig *config)
 {
+  if (!config) return;
+
   g_free(config->extension);
   g_free(config->folder_hierarchy);
   g_free(config->folder_path);
@@ -644,14 +583,14 @@ libgnac_converter_add(LibgnacConverter  *self,
                       GFile             *file, 
                       GError           **error)
 {
+  g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
+  g_return_if_fail(error == NULL || *error == NULL);
+
   LibgnacConverterPrivate *priv;
   LibgnacMediaItem *item;
   gchar *uri;
   gchar *dup_uri;
 
-  g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
-  g_return_if_fail(error == NULL || *error == NULL);
-
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
 
   uri = g_file_get_uri(file);
@@ -692,14 +631,14 @@ libgnac_converter_remove(LibgnacConverter  *self,
                          GFile             *file, 
                          GError           **error)
 {
+  g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
+  g_return_if_fail(error == NULL || *error == NULL);
+
   LibgnacConverterPrivate *priv;
   gchar                   *uri;
   gpointer                 key_uri = NULL;
   gpointer                 item = NULL;
   
-  g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
-  g_return_if_fail(error == NULL || *error == NULL);
-
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
 
   uri = g_file_get_uri(file);
@@ -743,9 +682,10 @@ libgnac_converter_remove(LibgnacConverter  *self,
 void
 libgnac_converter_clear(LibgnacConverter *self)
 {
-  LibgnacConverterPrivate *priv;
   g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
 
+  LibgnacConverterPrivate *priv;
+
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
 
   g_queue_clear(priv->queue);
@@ -761,18 +701,19 @@ void
 libgnac_converter_start(LibgnacConverter  *self, 
                         GError           **error)
 {
-  LibgnacConverterPrivate *priv;
-  gchar *dbg_msg;
-
   g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
   g_return_if_fail(error == NULL || *error == NULL);
 
+  LibgnacConverterPrivate *priv;
+  gchar *dbg_msg;
+
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
 
   if (priv->queue_copy) {
     g_queue_free(priv->queue_copy);
     priv->queue_copy = NULL;
   }
+
   priv->queue_copy = g_queue_copy(priv->queue);
   g_queue_sort(priv->queue_copy, (GCompareDataFunc)g_strcmp0, NULL);
   priv->n_converted = -1;
@@ -796,12 +737,12 @@ void
 libgnac_converter_stop(LibgnacConverter  *self, 
                        GError           **error)
 {
-  GError *err = NULL;
-  LibgnacConverterPrivate *priv;
-
   g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
   g_return_if_fail(error == NULL || *error == NULL);
 
+  GError *err = NULL;
+  LibgnacConverterPrivate *priv;
+
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
 
   libgnac_item_stop(priv->current, &err);
@@ -809,6 +750,7 @@ libgnac_converter_stop(LibgnacConverter  *self,
     g_propagate_error(error, err);
     return;
   }
+
   priv->elapsed_duration = 0;
   priv->n_converted = -1;
   priv->current = NULL;
@@ -820,10 +762,10 @@ void
 libgnac_converter_pause(LibgnacConverter  *self,
                         GError           **error)
 {
-  LibgnacConverterPrivate *priv;
   g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
   g_return_if_fail(error == NULL || *error == NULL);
 
+  LibgnacConverterPrivate *priv;
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
   libgnac_gst_pause(priv->current, error);
 }
@@ -833,10 +775,10 @@ void
 libgnac_converter_resume(LibgnacConverter  *self, 
                          GError           **error)
 {
-  LibgnacConverterPrivate *priv;
   g_return_if_fail(LIBGNAC_IS_CONVERTER(self));
   g_return_if_fail(error == NULL || *error == NULL);
 
+  LibgnacConverterPrivate *priv;
   priv = LIBGNAC_CONVERTER_GET_PRIVATE(self);
   libgnac_gst_run(priv->current, error);
 }
@@ -856,7 +798,6 @@ libgnac_converter_emit_plugin_installed(LibgnacConverter *self)
 }
 
 
-/* Callbacks */
 void
 libgnac_converter_eos_cb(GstBus     *bus, 
                          GstMessage *message, 
@@ -910,16 +851,14 @@ libgnac_converter_error_sink(LibgnacMediaItem *item,
     return TRUE;
   }
 
-  if (err) {
-    if (!g_error_matches(err, G_IO_ERROR, G_IO_ERROR_EXISTS)) {
-      libgnac_debug("Unable to create directory");
-      g_signal_emit(item->parent, signals[ERROR], 0, uri, 
-          _("Unable to create destination directory"), NULL);
-      g_clear_error(&err);
-      return FALSE;
-    }
+  if (!g_error_matches(err, G_IO_ERROR, G_IO_ERROR_EXISTS)) {
+    libgnac_debug("Unable to create directory");
+    g_signal_emit(item->parent, signals[ERROR], 0, uri,
+        _("Unable to create destination directory"), NULL);
     g_clear_error(&err);
+    return FALSE;
   }
+  g_clear_error(&err);
 
   if (!libgnac_error_handle_dest_file_already_exists(item, message, uri)) {
     g_signal_emit(item->parent, signals[ERROR], 0, uri, 
@@ -930,6 +869,7 @@ libgnac_converter_error_sink(LibgnacMediaItem *item,
   return TRUE;
 }
 
+
 static gboolean
 libgnac_converter_error_src(LibgnacMediaItem *item, 
                             GstMessage *message, 
@@ -938,10 +878,10 @@ libgnac_converter_error_src(LibgnacMediaItem *item,
 {
   g_signal_emit(item->parent, signals[ERROR], 0, uri, 
                   _("Unable to read source file"), error);
-
   return FALSE;
 }
 
+
 static gboolean
 libgnac_converter_error_other(LibgnacMediaItem *item, 
                                GstMessage *message, 
@@ -955,6 +895,7 @@ libgnac_converter_error_other(LibgnacMediaItem *item,
     libgnac_warning("Unable to remove partial file %s: %s", uri, err->message);
     g_clear_error(&err);
   }
+
   g_signal_emit(item->parent, signals[ERROR], 0, uri, 
                   _("An error occured during conversion"), error);
  
@@ -1113,12 +1054,11 @@ libgnac_converter_percentage_cb(LibgnacConverter *converter)
 
   gst_element_get_state(item->pipeline, &state, &pending_state, 0);
 
-  if (state == GST_STATE_PAUSED) 
-  {
+  if (state == GST_STATE_PAUSED) {
     return TRUE;
   }
-  else if (state != GST_STATE_PLAYING && pending_state != GST_STATE_PLAYING) 
-  {
+
+  if (state != GST_STATE_PLAYING && pending_state != GST_STATE_PLAYING) {
     item->timeout_id = 0;
     return FALSE;
   }
diff --git a/libgnac/libgnac-gst-utils.c b/libgnac/libgnac-gst-utils.c
index 3cf8537..54ae6d2 100644
--- a/libgnac/libgnac-gst-utils.c
+++ b/libgnac/libgnac-gst-utils.c
@@ -45,21 +45,16 @@ libgnac_gstu_make_pipeline_element(GstElement   *bin,
   elem = gst_element_factory_make(element, name);
   if (!elem) {
     libgnac_debug("Failed to create %s element", element);
-    g_set_error(error,
-        LIBGNAC_ERROR,
-        LIBGNAC_ERROR_MISSING_PLUGIN,
-        "%s",
-        element);
+    g_set_error(error, LIBGNAC_ERROR,
+        LIBGNAC_ERROR_MISSING_PLUGIN, "%s", element);
     return NULL;
   }
 
   if (!gst_bin_add(GST_BIN(bin), elem)) {
     libgnac_debug("Failed to add %s element to the bin", element);
-    g_set_error(error,
-        LIBGNAC_ERROR,
+    g_set_error(error, LIBGNAC_ERROR,
         LIBGNAC_ERROR_PIPELINE_CREATION,
-        _("Failed to add %s element"),
-        element);
+        _("Failed to add %s element"), element);
     return NULL;
   }
 
@@ -71,11 +66,11 @@ GstElement *
 libgnac_gstu_pipeline_new(GError **error)
 {
   GstElement *pipeline;
+
   pipeline = gst_pipeline_new("pipeline");
   if (!pipeline) {
     libgnac_warning("Pipeline creation failed");
-    g_set_error(error,
-        LIBGNAC_ERROR,
+    g_set_error(error, LIBGNAC_ERROR,
         LIBGNAC_ERROR_PIPELINE_CREATION,
         _("Unable to create pipeline"));
     return NULL;
@@ -93,11 +88,9 @@ libgnac_gstu_bin_add(GstElement  *bin,
   if (!gst_bin_add(GST_BIN(bin), elem)) {
     gchar *name = gst_element_get_name(elem);
     libgnac_debug("Failed to add %s element to the bin", name);
-    g_set_error(error,
-        LIBGNAC_ERROR,
+    g_set_error(error, LIBGNAC_ERROR,
         LIBGNAC_ERROR_PIPELINE_CREATION,
-        _("Failed to add %s element"),
-        name);
+        _("Failed to add %s element"), name);
     g_free(name);
     return FALSE;
   }
@@ -112,12 +105,12 @@ libgnac_gstu_element_link(GstElement  *src,
                           GError     **error)
 {
   gboolean ret;
+
   ret = gst_element_link(src, dst);
   if (!ret) {
     libgnac_debug("Failed to link element %s to %s",
         gst_element_get_name(src), gst_element_get_name(dst));
-    g_set_error(error,
-        LIBGNAC_ERROR,
+    g_set_error(error, LIBGNAC_ERROR,
         LIBGNAC_ERROR_PIPELINE_CREATION,
         _("Unable to link element %s to %s"),
         gst_element_get_name(src), gst_element_get_name(dst));
@@ -133,12 +126,12 @@ libgnac_gstu_pad_link(GstPad  *src,
                       GError **error)
 {
   GstPadLinkReturn ret;
+
   ret = gst_pad_link(src, sink);
   if (ret != GST_PAD_LINK_OK) {
     libgnac_debug("Failed to link pad %s to %s",
         gst_pad_get_name(src), gst_pad_get_name(sink));
-    g_set_error(error,
-        LIBGNAC_ERROR,
+    g_set_error(error, LIBGNAC_ERROR,
         LIBGNAC_ERROR_PIPELINE_CREATION,
         _("Unable to link pad %s to %s"),
         gst_pad_get_name(src), gst_pad_get_name(sink));
diff --git a/libgnac/libgnac-gst.c b/libgnac/libgnac-gst.c
index 860a859..32baa45 100644
--- a/libgnac/libgnac-gst.c
+++ b/libgnac/libgnac-gst.c
@@ -84,16 +84,13 @@ libgnac_gst_parse_error_missing_elem(GstParseContext  *ctx,
   {
     gchar **missing;
     /* clean up the "old" error */
-    g_error_free(*error);
-    *error = NULL;
+    g_clear_error(error);
     /* get the name of the missing elements */
     missing = gst_parse_context_get_missing_elements(ctx);
     libgnac_debug("Failed to parse description: %s", descr);
     /* set the "new" error */
-    g_set_error(error,
-        LIBGNAC_ERROR,
-        LIBGNAC_ERROR_MISSING_PLUGIN,
-        "%s", missing[0]);
+    g_set_error(error, LIBGNAC_ERROR,
+        LIBGNAC_ERROR_MISSING_PLUGIN, "%s", missing[0]);
     /* clean up */
     g_strfreev(missing);
     gst_parse_context_free(ctx);
@@ -362,6 +359,8 @@ libgnac_gst_build_pipeline(LibgnacMediaItem  *item,
 void
 libgnac_gst_clean_pipeline(LibgnacMediaItem *item)
 {
+  if (!item) return;
+
   if (item->pipeline) {
     if (!gst_element_set_state(item->pipeline, GST_STATE_NULL))
     { 
@@ -388,12 +387,12 @@ libgnac_gst_newpad_cb(GstElement *decodebin,
                       gboolean    last,
                       gpointer    data)
 {
-	GstCaps *caps;
-	GstStructure *structure;
-	const gchar *mimetype;
+	const gchar      *mimetype;
+	GstCaps          *caps;
+	GstStructure     *structure;
   LibgnacMediaItem *item;
 
-  item = (LibgnacMediaItem*)data;
+  item = (LibgnacMediaItem *) data;
 	caps = gst_pad_get_caps(pad);
 
 	if (gst_caps_is_empty(caps) || gst_caps_is_any(caps)) {
diff --git a/libgnac/libgnac-metadata.c b/libgnac/libgnac-metadata.c
index 5e0a6c7..1286548 100644
--- a/libgnac/libgnac-metadata.c
+++ b/libgnac/libgnac-metadata.c
@@ -65,16 +65,15 @@ G_DEFINE_TYPE(LibgnacMetadata, libgnac_metadata, G_TYPE_OBJECT);
 static void
 libgnac_metadata_destroy_pipeline(LibgnacMetadata *md)
 {
-  if (md->priv->pipeline) 
-  {
-    GstBus *bus;
-    bus = gst_element_get_bus(md->priv->pipeline);
-    gst_element_set_state(md->priv->pipeline, GST_STATE_NULL);
-    gst_bus_set_sync_handler(bus, NULL, NULL);
-    gst_object_unref(GST_OBJECT(bus));
-    gst_object_unref(GST_OBJECT(md->priv->pipeline));
-    md->priv->pipeline = NULL;
-  } 
+  if (!md->priv->pipeline) return;
+
+  GstBus *bus;
+  bus = gst_element_get_bus(md->priv->pipeline);
+  gst_element_set_state(md->priv->pipeline, GST_STATE_NULL);
+  gst_bus_set_sync_handler(bus, NULL, NULL);
+  gst_object_unref(GST_OBJECT(bus));
+  gst_object_unref(GST_OBJECT(md->priv->pipeline));
+  md->priv->pipeline = NULL;
 }
 
 
@@ -83,8 +82,8 @@ libgnac_metadata_reset(LibgnacMetadata *md)
 {
   if (md->priv->uri) {
     g_object_unref(md->priv->uri);
+    md->priv->uri = NULL;
   }
-  md->priv->uri = NULL;
   md->priv->eos = FALSE;
   md->priv->error = NULL;
   libgnac_metadata_destroy_pipeline(md);
@@ -96,17 +95,16 @@ libgnac_metadata_reset(LibgnacMetadata *md)
 
 
 static void
-libgnac_metadata_dispose(GObject *gobject) 
+libgnac_metadata_dispose(GObject *object)
 {
-  LibgnacMetadata *self = LIBGNAC_METADATA(gobject);
+  LibgnacMetadata *self = LIBGNAC_METADATA(object);
 
-  if (self->priv->tags_table)
-  {
+  if (self->priv->tags_table) {
     g_hash_table_destroy(self->priv->tags_table);
     self->priv->tags_table = NULL;
   }
 
-  G_OBJECT_CLASS(libgnac_metadata_parent_class)->dispose(gobject);
+  G_OBJECT_CLASS(libgnac_metadata_parent_class)->dispose(object);
 }
 
 
@@ -139,10 +137,8 @@ libgnac_metadata_init(LibgnacMetadata *md)
 {
   LibgnacMetadataPrivate *priv = md->priv = LIBGNAC_METADATA_GET_PRIVATE(md);
 
-  priv->tags_table = g_hash_table_new_full(g_str_hash, 
-        g_str_equal, 
-        g_free, 
-        (GDestroyNotify)libgnac_metadata_tags_free);
+  priv->tags_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+      (GDestroyNotify)libgnac_metadata_tags_free);
 }
 
 
@@ -156,10 +152,10 @@ libgnac_metadata_new(void)
 static void
 libgnac_metadata_free_gvalue(GValue *value) 
 {
-  if (value) {
-    g_value_unset(value);
-    g_free(value);
-  }   
+  if (!value) return;
+
+  g_value_unset(value);
+  g_free(value);
 }
 
 
@@ -180,8 +176,7 @@ libgnac_metadata_process_tag_image(const GstTagList *taglist,
                                    LibgnacMetadata  *md)
 {
   gint i;
-  for (i = 0; i < count; i++) 
-  {
+  for (i = 0; i < count; i++) {
     const GValue *val;
     gint image_type;
     GstBuffer *buffer;
@@ -192,8 +187,7 @@ libgnac_metadata_process_tag_image(const GstTagList *taglist,
     g_return_if_fail(buffer);
       
     /* GST_TAG_PREVIEW_IMAGE does not have an "image-type" field */
-    if (g_str_equal(tag_name, GST_TAG_IMAGE))
-    {
+    if (g_str_equal(tag_name, GST_TAG_IMAGE)) {
       GstCaps *caps;
       GstStructure *structure;
 
@@ -204,7 +198,7 @@ libgnac_metadata_process_tag_image(const GstTagList *taglist,
       g_return_if_fail(structure);
 
       gst_structure_get_enum(structure, "image-type",
-                      GST_TYPE_TAG_IMAGE_TYPE, &image_type);
+          GST_TYPE_TAG_IMAGE_TYPE, &image_type);
     }
 
     /* we are only interested in the front cover (but if there is only
@@ -223,23 +217,21 @@ libgnac_metadata_process_tag_image(const GstTagList *taglist,
       loader = gdk_pixbuf_loader_new();
 
       g_signal_connect(loader, "size-prepared", 
-                      G_CALLBACK(libgnac_metadata_size_prepared_cb), NULL);
+          G_CALLBACK(libgnac_metadata_size_prepared_cb), NULL);
   
       data = GST_BUFFER_DATA(buffer);
       size = GST_BUFFER_SIZE(buffer);
 
-      if (!gdk_pixbuf_loader_write(loader, data, size, &error)) 
-      {
+      if (!gdk_pixbuf_loader_write(loader, data, size, &error)) {
         libgnac_debug("Error writing data to pixbuf: %s", error->message);
         gdk_pixbuf_loader_close(loader, NULL);
-        g_error_free(error);
+        g_clear_error(&error);
         return;
       }
 
-      if (!gdk_pixbuf_loader_close(loader, &error))
-      {
+      if (!gdk_pixbuf_loader_close(loader, &error)) {
         libgnac_debug("Error closing pixbuf loader: %s", error->message);
-        g_error_free(error);
+        g_clear_error(&error);
         return;
       }
 
@@ -265,23 +257,22 @@ libgnac_metadata_process_tag_value(GstStructure    *structure,
                                    LibgnacMetadata *md)
 {
   const GValue *val;
+
   val = gst_structure_get_value(structure, tag_name);
-  if (val)
-  {
-    if (GST_VALUE_HOLDS_FRACTION(val))
-    {
-      GValue *newval;
-      gint numerator;
-      gint denominator;
+  if (!val) return;
 
-      numerator = gst_value_get_fraction_numerator(val);
-      denominator = gst_value_get_fraction_denominator(val);
+  if (GST_VALUE_HOLDS_FRACTION(val)) {
+    GValue *newval;
+    gint numerator;
+    gint denominator;
 
-      newval = g_new0(GValue, 1);
-      g_value_init(newval, G_TYPE_FLOAT);
-      g_value_set_float(newval, (gfloat)numerator/denominator);
-      g_hash_table_insert(md->priv->metadata, tag_name, newval);
-    }
+    numerator = gst_value_get_fraction_numerator(val);
+    denominator = gst_value_get_fraction_denominator(val);
+
+    newval = g_new0(GValue, 1);
+    g_value_init(newval, G_TYPE_FLOAT);
+    g_value_set_float(newval, (gfloat)numerator/denominator);
+    g_hash_table_insert(md->priv->metadata, tag_name, newval);
   }
 }
 
@@ -292,8 +283,7 @@ libgnac_metadata_process_tag_int(GstStructure    *structure,
                                  LibgnacMetadata *md)
 {
   gint int_val;
-  if (gst_structure_get_int(structure, tag_name, &int_val))
-  {
+  if (gst_structure_get_int(structure, tag_name, &int_val)) {
     GValue *val;
     val = g_new0(GValue, 1);
     g_value_init(val, G_TYPE_INT);
@@ -327,14 +317,12 @@ libgnac_metadata_process_tag(const GstTagList *taglist,
   type = gst_tag_get_type(tag_name);
   newval = g_new0(GValue, 1);
   g_value_init(newval, type);
-  if (!g_value_transform(val, newval)) 
-  {
+  if (!g_value_transform(val, newval)) {
     libgnac_metadata_free_gvalue(newval);
     return;
   }
 
-  if (type == G_TYPE_STRING) 
-  {
+  if (type == G_TYPE_STRING) {
     gchar *str;
     str = g_value_dup_string(newval);
     if (!g_utf8_validate(str, -1, NULL)) 
@@ -411,11 +399,10 @@ libgnac_metadata_on_message_error(GstBus          *bus,
                                   GstMessage      *message,
                                   LibgnacMetadata *md)
 {
-  GError *error;
-  gchar *debug;
+  GError *error = NULL;
+  gchar  *debug;
   gst_message_parse_error(message, &error, &debug);
   libgnac_debug("Error on metadata reading: %s", error->message);
-
   md->priv->eos = TRUE; 
 }
 
@@ -487,8 +474,7 @@ libgnac_metadata_new_decoded_pad_cb(GstElement      *element,
   const gchar *mimetype;
 
   sink_pad = gst_element_get_pad(md->priv->sink, "sink");
-  if (GST_PAD_IS_LINKED(sink_pad)) 
-  {
+  if (GST_PAD_IS_LINKED(sink_pad)) {
     g_object_unref(sink_pad);
     return;
   }
@@ -497,8 +483,7 @@ libgnac_metadata_new_decoded_pad_cb(GstElement      *element,
       libgnac_gstu_pad_link(pad, sink_pad, NULL) == GST_PAD_LINK_OK);
 
   caps = gst_pad_get_caps(pad);
-  if (gst_caps_is_empty(caps) || gst_caps_is_any(caps)) 
-  {
+  if (gst_caps_is_empty(caps) || gst_caps_is_any(caps)) {
     gst_caps_unref(caps);
     g_object_unref(sink_pad);
     return;
@@ -630,8 +615,7 @@ libgnac_metadata_extract(LibgnacMetadata  *md,
   string_uri = g_file_get_uri(uri);
   tags = g_hash_table_lookup(md->priv->tags_table, string_uri);
 
-  if (!tags) 
-  {
+  if (!tags) {
     GstElement *pipeline  = NULL;
     GstElement *source    = NULL;
     GstElement *decodebin = NULL;
@@ -772,8 +756,7 @@ libgnac_metadata_tags_exist(LibgnacTags *tags, ...)
 
   va_start(names, tags);
 
-  while ((name = va_arg(names, gchar*)) && !missing)
-  {
+  while ((name = va_arg(names, gchar*)) && !missing) {
     if (!g_hash_table_lookup(tags, name)) missing = TRUE;
   }
 
@@ -786,8 +769,7 @@ libgnac_metadata_tags_exist(LibgnacTags *tags, ...)
 LibgnacTags *
 libgnac_metadata_get_dummy_tags(void)
 {
-  if (!dummy_tags)
-  {
+  if (!dummy_tags) {
     dummy_tags = g_hash_table_new_full(g_str_hash, 
           g_str_equal, 
           g_free, 
diff --git a/src/gnac-main.c b/src/gnac-main.c
index cbb8398..159072a 100644
--- a/src/gnac-main.c
+++ b/src/gnac-main.c
@@ -307,13 +307,11 @@ gnac_add_file(GFile *file)
   
   mime_type = g_file_info_get_content_type(info);
 
-  if (mime_type) {
-    if (gnac_playlist_is_mime_playlist(mime_type)) {
-      gnac_playlist_parse(file, mime_type);
-    } else if (gnac_utils_file_format_is_supported(mime_type)) {
-      libgnac_info("Add file %s", uri);
-      libgnac_converter_add(converter, file, &error);
-    }
+  if (gnac_playlist_is_mime_playlist(mime_type)) {
+    gnac_playlist_parse(file, mime_type);
+  } else if (gnac_utils_file_format_is_supported(mime_type)) {
+    libgnac_info("Add file %s", uri);
+    libgnac_converter_add(converter, file, &error);
   }
 
   g_free(uri);
@@ -350,16 +348,20 @@ gboolean
 gnac_settings_set(const gchar *key,
                   GVariant    *value)
 {
-  gboolean ret;
-  gchar *val_str;
+  gboolean  ret;
+  gchar    *val_str;
+
   val_str = g_variant_print(value, FALSE);
   ret = g_settings_set_value(settings, key, value);
+
   if (!ret) {
     libgnac_debug("Failed to set key \"%s\" to \"%s\"", key, val_str);
   } else {
     libgnac_debug("Key \"%s\" set to \"%s\"", key, val_str);
   }
+
   g_free(val_str);
+
   return ret;
 }
 
@@ -710,10 +712,7 @@ gnac_on_ui_pause_cb(GtkWidget *widget,
     libgnac_converter_resume(converter, &error);
   }
 
-  if (error) 
-  {
-    g_clear_error(&error);
-  }
+  g_clear_error(&error);
 }
 
 void
@@ -773,6 +772,39 @@ gnac_on_ui_convert_cb(GtkWidget *widget,
 }
 
 
+static void
+gnac_init_libgnac(void)
+{
+  metadata = LIBGNAC_METADATA(libgnac_metadata_new());
+  converter = LIBGNAC_CONVERTER(libgnac_converter_new(metadata));
+
+  g_signal_connect(converter, "allow-overwrite",
+      G_CALLBACK(gnac_on_converter_overwrite_cb), converter);
+  g_signal_connect(converter, "completion",
+      G_CALLBACK(gnac_on_converter_completion_cb), converter);
+  g_signal_connect(converter, "error",
+      G_CALLBACK(gnac_on_converter_error_cb), converter);
+  g_signal_connect(converter, "file-added",
+      G_CALLBACK(gnac_on_converter_file_added_cb), converter);
+  g_signal_connect(converter, "files-cleared",
+      G_CALLBACK(gnac_on_converter_files_cleared_cb), converter);
+  g_signal_connect(converter, "file-completed",
+      G_CALLBACK(gnac_on_converter_file_completed_cb), converter);
+  g_signal_connect(converter, "file-removed",
+      G_CALLBACK(gnac_on_converter_file_removed_cb), converter);
+  g_signal_connect(converter, "file-started",
+      G_CALLBACK(gnac_on_converter_file_started_cb), converter);
+  g_signal_connect(converter, "plugin-install",
+      G_CALLBACK(gnac_on_converter_plugin_install_cb), converter);
+  g_signal_connect(converter, "progress",
+      G_CALLBACK(gnac_on_converter_progress_cb), converter);
+  g_signal_connect(converter, "started",
+      G_CALLBACK(gnac_on_converter_started_cb), converter);
+  g_signal_connect(converter, "stopped",
+      G_CALLBACK(gnac_on_converter_stopped_cb), converter);
+}
+
+
 gint
 main(gint    argc,
      gchar **argv)
@@ -796,39 +828,8 @@ main(gint    argc,
 
   gdk_threads_init();
 
-  /* Init gstreamer plugins helper */
-  gst_pb_utils_init();
-
   gnac_ui_init();
-
-  /* Initialise converter and connect signals */
-  metadata = LIBGNAC_METADATA(libgnac_metadata_new());
-  converter = LIBGNAC_CONVERTER(libgnac_converter_new(metadata));
-
-  g_signal_connect(converter, "allow-overwrite", 
-      G_CALLBACK(gnac_on_converter_overwrite_cb), converter);
-  g_signal_connect(converter, "progress", 
-      G_CALLBACK(gnac_on_converter_progress_cb), converter);
-  g_signal_connect(converter, "error", 
-      G_CALLBACK(gnac_on_converter_error_cb), converter);
-  g_signal_connect(converter, "completion", 
-      G_CALLBACK(gnac_on_converter_completion_cb), converter);
-  g_signal_connect(converter, "file-added", 
-      G_CALLBACK(gnac_on_converter_file_added_cb), converter);
-  g_signal_connect(converter, "file-removed", 
-      G_CALLBACK(gnac_on_converter_file_removed_cb), converter);
-  g_signal_connect(converter, "file-started", 
-      G_CALLBACK(gnac_on_converter_file_started_cb), converter);
-  g_signal_connect(converter, "file-completed", 
-      G_CALLBACK(gnac_on_converter_file_completed_cb), converter);
-  g_signal_connect(converter, "files-cleared", 
-      G_CALLBACK(gnac_on_converter_files_cleared_cb), converter);
-  g_signal_connect(converter, "started", 
-      G_CALLBACK(gnac_on_converter_started_cb), converter);
-  g_signal_connect(converter, "stopped", 
-      G_CALLBACK(gnac_on_converter_stopped_cb), converter);
-  g_signal_connect(converter, "plugin-install",
-      G_CALLBACK(gnac_on_converter_plugin_install_cb), converter);
+  gnac_init_libgnac();
 
   gnac_ui_show();
 
diff --git a/src/gnac-playlist.c b/src/gnac-playlist.c
index 31d389a..4c0dec4 100755
--- a/src/gnac-playlist.c
+++ b/src/gnac-playlist.c
@@ -92,12 +92,15 @@ gnac_playlist_read_file(GFile *file)
 gboolean
 gnac_playlist_is_mime_playlist(const gchar *mime)
 {
+  if (!mime) return FALSE;
+
   guint i;
   for (i = 0; mime_playlist[i].mime; i++) {
     if (g_ascii_strcasecmp(mime, mime_playlist[i].mime) == 0) {
       return TRUE;
     }
   }
+
   return FALSE;
 }
 
diff --git a/src/gnac-utils.c b/src/gnac-utils.c
index 13f16ef..d2faf49 100644
--- a/src/gnac-utils.c
+++ b/src/gnac-utils.c
@@ -226,6 +226,8 @@ gnac_utils_get_filenames_from_cmd_line(gchar **argv)
 gboolean
 gnac_utils_file_format_is_supported(const gchar *mime_type)
 {
+  if (!mime_type) return FALSE;
+
   return g_str_has_prefix(mime_type, "audio/") ||
          g_str_has_prefix(mime_type, "video/") ||
          g_str_equal(mime_type, "application/ogg") ||
diff --git a/src/profiles/gnac-profiles-manager.c b/src/profiles/gnac-profiles-manager.c
index a013792..c784762 100644
--- a/src/profiles/gnac-profiles-manager.c
+++ b/src/profiles/gnac-profiles-manager.c
@@ -1089,19 +1089,20 @@ gnac_profiles_mgr_on_drag_data_get(GtkWidget        *widget,
 static gchar **
 gnac_profiles_mgr_get_selected_uris(void)
 {
-  GList  *selected;
+  GList *selected;
   
   selected = gnac_profiles_mgr_get_selected_rows();
   if (!selected) return NULL;
 
-  gchar               **uris;
-  GList                *temp;
-  GtkTreeRowReference  *reference;
-  guint   i;
+  gchar **uris;
+  GtkTreeRowReference *reference;
 
   reference = (GtkTreeRowReference*) selected->data;
   uris = g_malloc((g_list_length(selected)+1) * sizeof(gchar*));
 
+  guint  i;
+  GList *temp;
+
   for (i = 0, temp = selected; temp; temp = temp->next, ++i) {
     GFile *file;
     AudioProfileGeneric *profile;



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