brasero r1562 - in trunk: . src src/plugins/cdrkit src/plugins/cdrtools src/plugins/dvdauthor src/plugins/local-track src/plugins/transcode src/plugins/vcdimager
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1562 - in trunk: . src src/plugins/cdrkit src/plugins/cdrtools src/plugins/dvdauthor src/plugins/local-track src/plugins/transcode src/plugins/vcdimager
- Date: Sun, 23 Nov 2008 14:15:18 +0000 (UTC)
Author: philippr
Date: Sun Nov 23 14:15:18 2008
New Revision: 1562
URL: http://svn.gnome.org/viewvc/brasero?rev=1562&view=rev
Log:
Improve previous patch by letting users without a burning backend able
to write CD-TEXT write audio CDs nevertheless.
Fix also some crashes introduced in previous patch and some minor glitches
* src/brasero-audio-disc.c (brasero_audio_disc_set_session_param),
(brasero_audio_disc_set_session_contents):
* src/brasero-burn-options.c (brasero_burn_options_valid_media_cb):
* src/brasero-disc-option-dialog.c
(brasero_disc_option_dialog_load_multi_state),
(brasero_disc_option_dialog_valid_media_cb):
* src/brasero-jacket-edit.c (brasero_jacket_edit_set_audio_tracks):
* src/brasero-medium-properties.c
(brasero_medium_properties_valid_session):
* src/brasero-project-manager.c
(brasero_project_manager_burn_project):
* src/brasero-project.c (brasero_project_set_uri):
* src/brasero-session-cfg.c (brasero_session_cfg_get_error),
(brasero_session_cfg_update), (brasero_session_cfg_class_init):
* src/brasero-session-cfg.h:
* src/burn-caps.c (brasero_caps_get_flags_for_disc),
(brasero_caps_audio_new):
* src/burn-debug.c (brasero_debug_audio_format_to_string):
* src/burn-session.c (brasero_burn_session_class_init):
* src/burn-track.h:
* src/main.c (brasero_app_parse_options):
* src/plugins/cdrkit/burn-wodim.c (brasero_wodim_export_caps):
* src/plugins/cdrtools/burn-cdrecord.c
(brasero_cdrecord_export_caps):
* src/plugins/dvdauthor/burn-dvdauthor.c
(brasero_dvd_author_export_caps):
* src/plugins/local-track/burn-local-image.c
(brasero_local_track_export_caps):
* src/plugins/transcode/burn-normalize.c
(brasero_normalize_export_caps):
* src/plugins/transcode/burn-transcode.c (foreach_tag),
(brasero_transcode_export_caps):
* src/plugins/transcode/burn-vob.c (brasero_vob_export_caps):
* src/plugins/vcdimager/burn-vcdimager.c
(brasero_vcd_imager_export_caps):
Modified:
trunk/ChangeLog
trunk/src/brasero-audio-disc.c
trunk/src/brasero-burn-options.c
trunk/src/brasero-disc-option-dialog.c
trunk/src/brasero-jacket-edit.c
trunk/src/brasero-medium-properties.c
trunk/src/brasero-project-manager.c
trunk/src/brasero-project.c
trunk/src/brasero-session-cfg.c
trunk/src/brasero-session-cfg.h
trunk/src/burn-caps.c
trunk/src/burn-debug.c
trunk/src/burn-session.c
trunk/src/burn-track.h
trunk/src/main.c
trunk/src/plugins/cdrkit/burn-wodim.c
trunk/src/plugins/cdrtools/burn-cdrecord.c
trunk/src/plugins/dvdauthor/burn-dvdauthor.c
trunk/src/plugins/local-track/burn-local-image.c
trunk/src/plugins/transcode/burn-normalize.c
trunk/src/plugins/transcode/burn-transcode.c
trunk/src/plugins/transcode/burn-vob.c
trunk/src/plugins/vcdimager/burn-vcdimager.c
Modified: trunk/src/brasero-audio-disc.c
==============================================================================
--- trunk/src/brasero-audio-disc.c (original)
+++ trunk/src/brasero-audio-disc.c Sun Nov 23 14:15:18 2008
@@ -2075,7 +2075,8 @@
value);
type.type = BRASERO_TRACK_TYPE_AUDIO;
- type.subtype.audio_format = BRASERO_AUDIO_FORMAT_UNDEFINED;
+ type.subtype.audio_format = BRASERO_AUDIO_FORMAT_UNDEFINED|
+ BRASERO_METADATA_INFO;
brasero_burn_session_set_input_type (session, &type);
return BRASERO_BURN_OK;
@@ -2089,12 +2090,14 @@
GtkTreeModel *model;
BraseroTrack *track;
BraseroAudioDisc *audio;
+ BraseroTrackType track_type = { 0, };
audio = BRASERO_AUDIO_DISC (disc);
model = gtk_tree_view_get_model (GTK_TREE_VIEW (audio->priv->tree));
if (!gtk_tree_model_get_iter_first (model, &iter))
return BRASERO_DISC_ERROR_EMPTY_SELECTION;
+ brasero_burn_session_get_input_type (session, &track_type);
track = NULL;
do {
gchar *uri;
@@ -2156,7 +2159,10 @@
info->isrc = isrc;
track = brasero_track_new (BRASERO_TRACK_TYPE_AUDIO);
- brasero_track_set_audio_source (track, uri, BRASERO_AUDIO_FORMAT_UNDEFINED);
+ brasero_track_set_audio_source (track,
+ uri,
+ track_type.subtype.audio_format);
+
brasero_track_set_audio_boundaries (track, start, end, -1);
brasero_track_set_audio_info (track, info);
brasero_burn_session_add_track (session, track);
Modified: trunk/src/brasero-burn-options.c
==============================================================================
--- trunk/src/brasero-burn-options.c (original)
+++ trunk/src/brasero-burn-options.c Sun Nov 23 14:15:18 2008
@@ -221,12 +221,13 @@
valid = brasero_session_cfg_get_error (session);
priv = BRASERO_BURN_OPTIONS_PRIVATE (self);
+ priv->is_valid = BRASERO_SESSION_IS_VALID (valid);
- gtk_widget_set_sensitive (priv->button, valid == BRASERO_SESSION_VALID);
- gtk_widget_set_sensitive (priv->options, valid == BRASERO_SESSION_VALID);
- gtk_widget_set_sensitive (priv->properties, valid == BRASERO_SESSION_VALID);
+ gtk_widget_set_sensitive (priv->button, priv->is_valid);
+ gtk_widget_set_sensitive (priv->options, priv->is_valid);
+ gtk_widget_set_sensitive (priv->properties, priv->is_valid);
- if (valid != BRASERO_SESSION_VALID)
+ if (!priv->is_valid)
gtk_widget_hide (priv->warning);
else if (brasero_burn_session_is_dest_file (BRASERO_BURN_SESSION (priv->session)))
gtk_widget_hide (priv->warning);
@@ -246,7 +247,6 @@
brasero_notify_message_remove (BRASERO_NOTIFY (priv->message_output),
BRASERO_NOTIFY_CONTEXT_SIZE);
- priv->is_valid = FALSE;
if (valid == BRASERO_SESSION_INSUFFICIENT_SPACE) {
brasero_notify_message_add (BRASERO_NOTIFY (priv->message_output),
_("Please, choose another CD or DVD or insert a new one."),
@@ -261,6 +261,13 @@
-1,
BRASERO_NOTIFY_CONTEXT_SIZE);
}
+ else if (valid == BRASERO_SESSION_NO_CD_TEXT) {
+ brasero_notify_message_add (BRASERO_NOTIFY (priv->message_output),
+ _("No track information (artist, compositor, ...) will be written to the disc."),
+ _("This is not supported by the current active burning backend."),
+ -1,
+ BRASERO_NOTIFY_CONTEXT_SIZE);
+ }
else if (valid == BRASERO_SESSION_NO_INPUT_MEDIUM) {
GtkWidget *message;
@@ -337,8 +344,6 @@
G_CALLBACK (brasero_burn_options_message_response_cb),
self);
}
- else
- priv->is_valid = TRUE;
brasero_burn_options_update_no_medium_warning (self);
gtk_window_resize (GTK_WINDOW (self), 10, 10);
Modified: trunk/src/brasero-disc-option-dialog.c
==============================================================================
--- trunk/src/brasero-disc-option-dialog.c (original)
+++ trunk/src/brasero-disc-option-dialog.c Sun Nov 23 14:15:18 2008
@@ -102,6 +102,7 @@
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->multi_toggle), value);
if (!value) {
+ gtk_widget_set_sensitive (priv->multi_toggle, TRUE);
g_object_unref (session);
return;
}
@@ -967,7 +968,7 @@
priv = BRASERO_DISC_OPTION_DIALOG_PRIVATE (self);
if (priv->video_options)
- gtk_widget_set_sensitive (priv->video_options, brasero_session_cfg_get_error (session) == BRASERO_SESSION_VALID);
+ gtk_widget_set_sensitive (priv->video_options, BRASERO_SESSION_IS_VALID (brasero_session_cfg_get_error (session)));
/* update the joliet button */
brasero_disc_option_dialog_update_joliet (self);
Modified: trunk/src/brasero-jacket-edit.c
==============================================================================
--- trunk/src/brasero-jacket-edit.c (original)
+++ trunk/src/brasero-jacket-edit.c Sun Nov 23 14:15:18 2008
@@ -806,40 +806,42 @@
info = brasero_track_get_audio_info (track);
- if (info->title) {
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->title, "Subtitle", &start);
- }
- else {
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, _("Unknown song"), "Subtitle", &start);
- }
+ if (info) {
+ if (info->title) {
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->title, "Subtitle", &start);
+ }
+ else {
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, _("Unknown song"), "Subtitle", &start);
+ }
+
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\t\t", "Subtitle", &start);
+
+ time = brasero_utils_get_time_string (brasero_track_get_audio_end (track) -
+ brasero_track_get_audio_start (track),
+ TRUE,
+ FALSE);
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, time, "Subtitle", &start);
+ g_free (time);
+
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\n", "Subtitle", &start);
+
+ if (info->artist) {
+ /* Translators: "by" is followed by the name of an artist.
+ * This text is the one written on the cover of a disc.
+ * Before it there is the name of the song.
+ * I had to break it because it is in a GtkTextBuffer
+ * and every word has a different tag. */
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, _("by"), "Artist", &start);
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, " ", "Artist", &start);
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->artist, "Artist", &start);
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, " ", "Artist", &start);
+ }
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\t\t", "Subtitle", &start);
+ if (info->composer)
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->composer, "Subtitle", &start);
- time = brasero_utils_get_time_string (brasero_track_get_audio_end (track) -
- brasero_track_get_audio_start (track),
- TRUE,
- FALSE);
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, time, "Subtitle", &start);
- g_free (time);
-
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\n", "Subtitle", &start);
-
- if (info->artist) {
- /* Translators: "by" is followed by the name of an artist.
- * This text is the one written on the cover of a disc.
- * Before it there is the name of the song.
- * I had to break it because it is in a GtkTextBuffer
- * and every word has a different tag. */
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, _("by"), "Artist", &start);
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, " ", "Artist", &start);
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->artist, "Artist", &start);
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, " ", "Artist", &start);
+ BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\n\n", "Subtitle", &start);
}
-
- if (info->composer)
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, info->composer, "Subtitle", &start);
-
- BRASERO_JACKET_EDIT_INSERT_TAGGED_TEXT (buffer, "\n\n", "Subtitle", &start);
}
/* side */
Modified: trunk/src/brasero-medium-properties.c
==============================================================================
--- trunk/src/brasero-medium-properties.c (original)
+++ trunk/src/brasero-medium-properties.c Sun Nov 23 14:15:18 2008
@@ -566,7 +566,7 @@
/* make sure the current displayed path is valid */
if (brasero_burn_session_is_dest_file (priv->session))
- brasero_medium_properties_update_image_output (self, brasero_session_cfg_get_error (session) == BRASERO_SESSION_VALID);
+ brasero_medium_properties_update_image_output (self, BRASERO_SESSION_IS_VALID (brasero_session_cfg_get_error (session)));
}
static void
Modified: trunk/src/brasero-project-manager.c
==============================================================================
--- trunk/src/brasero-project-manager.c (original)
+++ trunk/src/brasero-project-manager.c Sun Nov 23 14:15:18 2008
@@ -941,7 +941,6 @@
brasero_project_manager_set_oneshot (manager, TRUE);
type = brasero_project_open_project (BRASERO_PROJECT (manager->priv->project), uri);
-
if (type == BRASERO_PROJECT_TYPE_INVALID)
return;
Modified: trunk/src/brasero-project.c
==============================================================================
--- trunk/src/brasero-project.c (original)
+++ trunk/src/brasero-project.c Sun Nov 23 14:15:18 2008
@@ -1601,7 +1601,6 @@
}
/******************************* common to save/open ***************************/
-
static void
brasero_project_add_to_recents (BraseroProject *project,
const gchar *uri,
@@ -1646,8 +1645,10 @@
uri = uri ? uri : project->priv->project;
- /* add it to recent manager */
- brasero_project_add_to_recents (project, uri, TRUE);
+ /* add it to recent manager */
+ toplevel = gtk_widget_get_toplevel (GTK_WIDGET (project));
+ if (brasero_app_is_running (BRASERO_APP (toplevel)))
+ brasero_project_add_to_recents (project, uri, TRUE);
/* update the name of the main window */
BRASERO_GET_BASENAME_FOR_DISPLAY (uri, name);
@@ -1662,7 +1663,6 @@
g_free (name);
- toplevel = gtk_widget_get_toplevel (GTK_WIDGET (project));
gtk_window_set_title (GTK_WINDOW (toplevel), title);
g_free (title);
Modified: trunk/src/brasero-session-cfg.c
==============================================================================
--- trunk/src/brasero-session-cfg.c (original)
+++ trunk/src/brasero-session-cfg.c Sun Nov 23 14:15:18 2008
@@ -53,6 +53,7 @@
BraseroSessionError is_valid;
+ guint CD_TEXT_modified:1;
guint configuring:1;
guint disabled:1;
};
@@ -164,6 +165,11 @@
BraseroSessionCfgPrivate *priv;
priv = BRASERO_SESSION_CFG_PRIVATE (self);
+
+ if (priv->is_valid == BRASERO_SESSION_VALID
+ && priv->CD_TEXT_modified)
+ return BRASERO_SESSION_NO_CD_TEXT;
+
return priv->is_valid;
}
@@ -576,7 +582,7 @@
if (priv->configuring)
return;
- /* make sure there is a source */
+ /* Make sure there is a source */
brasero_burn_session_get_input_type (BRASERO_BURN_SESSION (self), &source);
if (source.type == BRASERO_TRACK_TYPE_NONE) {
priv->is_valid = BRASERO_SESSION_NOT_SUPPORTED;
@@ -636,28 +642,66 @@
return;
}
- priv->configuring = TRUE;
-
- if (brasero_drive_is_fake (burner))
- /* Remove some impossible flags */
- brasero_burn_session_remove_flag (BRASERO_BURN_SESSION (self),
- BRASERO_BURN_FLAG_DUMMY|
- BRASERO_BURN_FLAG_NO_TMP_FILES);
-
- if (update)
- brasero_session_cfg_set_drive_properties (self);
- else if (check)
- brasero_session_cfg_check_drive_settings (self);
-
- priv->configuring = FALSE;
-
- result = brasero_burn_caps_is_session_supported (priv->caps, BRASERO_BURN_SESSION (self));
+ /* Check that current input and output work */
+ if (priv->CD_TEXT_modified) {
+ /* Try to redo what we undid (after all a new plugin could have
+ * been activated in the mean time ...) and see what happens */
+ source.subtype.audio_format |= BRASERO_METADATA_INFO;
+ result = brasero_burn_caps_is_input_supported (priv->caps,
+ BRASERO_BURN_SESSION (self),
+ &source,
+ FALSE);
+ if (result == BRASERO_BURN_OK) {
+ priv->CD_TEXT_modified = FALSE;
+
+ priv->configuring = TRUE;
+ brasero_burn_session_set_input_type (BRASERO_BURN_SESSION (self), &source);
+ priv->configuring = FALSE;
+ }
+ else {
+ /* No, nothing's changed */
+ source.subtype.audio_format &= ~BRASERO_METADATA_INFO;
+ result = brasero_burn_caps_is_input_supported (priv->caps,
+ BRASERO_BURN_SESSION (self),
+ &source,
+ FALSE);
+ }
+ }
+ else {
+ /* NOTE: don't use flags here as they will be adapted afterwards */
+ result = brasero_burn_caps_is_input_supported (priv->caps,
+ BRASERO_BURN_SESSION (self),
+ &source,
+ FALSE);
+
+ if (result != BRASERO_BURN_OK
+ && source.type == BRASERO_TRACK_TYPE_AUDIO
+ && (source.subtype.audio_format & BRASERO_METADATA_INFO)) {
+ /* Another special case in case some burning backends don't
+ * support CD-TEXT for audio (libburn). If no other backend is
+ * available remove CD-TEXT option but tell user... */
+ /* NOTE: set flags to NONE as they'll need to be updated */
+ source.subtype.audio_format &= ~BRASERO_METADATA_INFO;
+ result = brasero_burn_caps_is_input_supported (priv->caps,
+ BRASERO_BURN_SESSION (self),
+ &source,
+ FALSE);
+ BRASERO_BURN_LOG ("Tested support without Metadata information (result %d)", result);
+ if (result == BRASERO_BURN_OK) {
+ priv->CD_TEXT_modified = TRUE;
+
+ priv->configuring = TRUE;
+ brasero_burn_session_set_input_type (BRASERO_BURN_SESSION (self), &source);
+ priv->configuring = FALSE;
+ }
+ }
+ }
if (result != BRASERO_BURN_OK) {
- /* This is a special case */
if (source.type == BRASERO_TRACK_TYPE_DISC
&& (source.subtype.media & BRASERO_MEDIUM_PROTECTED)
&& brasero_track_type_is_supported (&source) != BRASERO_BURN_OK) {
+ /* This is a special case to display a helpful message */
priv->is_valid = BRASERO_SESSION_DISC_PROTECTED;
g_signal_emit (self,
session_cfg_signals [IS_VALID_SIGNAL],
@@ -669,9 +713,27 @@
session_cfg_signals [IS_VALID_SIGNAL],
0);
}
+
return;
}
+ /* Configure flags */
+ priv->configuring = TRUE;
+
+ if (brasero_drive_is_fake (burner))
+ /* Remove some impossible flags */
+ brasero_burn_session_remove_flag (BRASERO_BURN_SESSION (self),
+ BRASERO_BURN_FLAG_DUMMY|
+ BRASERO_BURN_FLAG_NO_TMP_FILES);
+
+ if (update)
+ brasero_session_cfg_set_drive_properties (self);
+ else if (check)
+ brasero_session_cfg_check_drive_settings (self);
+
+ priv->configuring = FALSE;
+
+ /* Finally check size */
if (brasero_burn_session_same_src_dest_drive (BRASERO_BURN_SESSION (self))) {
priv->is_valid = BRASERO_SESSION_VALID;
g_signal_emit (self,
@@ -875,7 +937,7 @@
session_cfg_signals[IS_VALID_SIGNAL] =
g_signal_new ("is_valid",
G_OBJECT_CLASS_TYPE (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACTION,
+ G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP | G_SIGNAL_ACTION,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
Modified: trunk/src/brasero-session-cfg.h
==============================================================================
--- trunk/src/brasero-session-cfg.h (original)
+++ trunk/src/brasero-session-cfg.h Sun Nov 23 14:15:18 2008
@@ -60,7 +60,8 @@
typedef enum {
BRASERO_SESSION_VALID = 0,
- BRASERO_SESSION_NO_INPUT_IMAGE = 1,
+ BRASERO_SESSION_NO_CD_TEXT = 1,
+ BRASERO_SESSION_NO_INPUT_IMAGE = 2,
BRASERO_SESSION_UNKNOWN_IMAGE,
BRASERO_SESSION_NO_INPUT_MEDIUM,
BRASERO_SESSION_NO_OUTPUT,
@@ -70,6 +71,10 @@
BRASERO_SESSION_DISC_PROTECTED
} BraseroSessionError;
+#define BRASERO_SESSION_IS_VALID(result_MACRO) \
+ ((result_MACRO) == BRASERO_SESSION_VALID || \
+ (result_MACRO) == BRASERO_SESSION_NO_CD_TEXT)
+
BraseroSessionCfg *
brasero_session_cfg_new (void);
Modified: trunk/src/burn-caps.c
==============================================================================
--- trunk/src/burn-caps.c (original)
+++ trunk/src/burn-caps.c Sun Nov 23 14:15:18 2008
@@ -2398,6 +2398,13 @@
else
supported_flags &= ~BRASERO_BURN_FLAG_RAW;
+ if ((supported_flags & BRASERO_BURN_FLAG_DAO)
+ && input->type == BRASERO_TRACK_TYPE_AUDIO
+ && (input->subtype.img_format & BRASERO_METADATA_INFO)) {
+ /* In this case, DAO is compulsory if we want to write CD-TEXT */
+ compulsory_flags |= BRASERO_BURN_FLAG_DAO;
+ }
+
if (io_flags & BRASERO_PLUGIN_IO_ACCEPT_PIPE) {
supported_flags |= BRASERO_BURN_FLAG_NO_TMP_FILES;
@@ -3147,15 +3154,22 @@
* them, the other does have a VIDEO stream too. */
common_audio = BRASERO_AUDIO_CAPS_AUDIO (caps->type.subtype.audio_format) &
BRASERO_AUDIO_CAPS_AUDIO (format);
- if (common_audio == BRASERO_AUDIO_FORMAT_NONE)
+ if (common_audio == BRASERO_AUDIO_FORMAT_NONE
+ && (BRASERO_AUDIO_CAPS_AUDIO (caps->type.subtype.audio_format)
+ || BRASERO_AUDIO_CAPS_AUDIO (format)))
continue;
common_video = BRASERO_AUDIO_CAPS_VIDEO (caps->type.subtype.audio_format) &
BRASERO_AUDIO_CAPS_VIDEO (format);
- if (common_video == BRASERO_AUDIO_FORMAT_NONE)
+
+ if (common_video == BRASERO_AUDIO_FORMAT_NONE
+ && (BRASERO_AUDIO_CAPS_VIDEO (caps->type.subtype.audio_format)
+ || BRASERO_AUDIO_CAPS_VIDEO (format)))
continue;
- common = common_audio|common_video;
+ /* Likewise... that must be common */
+ if ((caps->type.subtype.audio_format & BRASERO_METADATA_INFO) != (format & BRASERO_METADATA_INFO))
+ continue;
/* encompassed caps just add it to retval */
if (caps->type.subtype.audio_format == common)
Modified: trunk/src/burn-debug.c
==============================================================================
--- trunk/src/burn-debug.c (original)
+++ trunk/src/burn-debug.c Sun Nov 23 14:15:18 2008
@@ -305,6 +305,9 @@
if (format & BRASERO_VIDEO_FORMAT_VCD)
strcat (buffer, "Video DVD ");
+
+ if (format & BRASERO_METADATA_INFO)
+ strcat (buffer, "Metadata Information ");
}
void
Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c (original)
+++ trunk/src/burn-session.c Sun Nov 23 14:15:18 2008
@@ -1607,7 +1607,7 @@
brasero_burn_session_signals [OUTPUT_CHANGED_SIGNAL] =
g_signal_new ("output_changed",
BRASERO_TYPE_BURN_SESSION,
- G_SIGNAL_RUN_FIRST|G_SIGNAL_ACTION|G_SIGNAL_NO_RECURSE,
+ G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (BraseroBurnSessionClass, output_changed),
NULL,
NULL,
@@ -1618,7 +1618,7 @@
brasero_burn_session_signals [INPUT_CHANGED_SIGNAL] =
g_signal_new ("input_changed",
BRASERO_TYPE_BURN_SESSION,
- G_SIGNAL_RUN_FIRST|G_SIGNAL_ACTION|G_SIGNAL_NO_RECURSE,
+ G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (BraseroBurnSessionClass, input_changed),
NULL,
NULL,
Modified: trunk/src/burn-track.h
==============================================================================
--- trunk/src/burn-track.h (original)
+++ trunk/src/burn-track.h Sun Nov 23 14:15:18 2008
@@ -70,11 +70,13 @@
BRASERO_AUDIO_FORMAT_48000 = 1 << 6,
BRASERO_VIDEO_FORMAT_UNDEFINED = 1 << 7,
BRASERO_VIDEO_FORMAT_VCD = 1 << 8,
- BRASERO_VIDEO_FORMAT_VIDEO_DVD = 1 << 9
+ BRASERO_VIDEO_FORMAT_VIDEO_DVD = 1 << 9,
+
+ BRASERO_METADATA_INFO = 1 << 10
} BraseroAudioFormat;
#define BRASERO_AUDIO_CAPS_AUDIO(caps_FORMAT) ((caps_FORMAT) & 0x007F)
-#define BRASERO_AUDIO_CAPS_VIDEO(caps_FORMAT) ((caps_FORMAT) & 0x0180)
+#define BRASERO_AUDIO_CAPS_VIDEO(caps_FORMAT) ((caps_FORMAT) & 0x0380)
typedef enum {
BRASERO_CHECKSUM_NONE = 0,
Modified: trunk/src/main.c
==============================================================================
--- trunk/src/main.c (original)
+++ trunk/src/main.c Sun Nov 23 14:15:18 2008
@@ -207,6 +207,8 @@
nb ++;
if (nb > 1) {
+ brasero_app_run (app, FALSE);
+
brasero_app_alert (app,
_("Incompatible command line options used."),
_("Only one option can be given at a time"),
Modified: trunk/src/plugins/cdrkit/burn-wodim.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-wodim.c (original)
+++ trunk/src/plugins/cdrkit/burn-wodim.c Sun Nov 23 14:15:18 2008
@@ -1057,6 +1057,15 @@
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_PIPE|
BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_METADATA_INFO);
+
+ brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (input);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_PIPE|
+ BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_RAW|
BRASERO_AUDIO_FORMAT_44100);
brasero_plugin_link_caps (plugin, output, input);
Modified: trunk/src/plugins/cdrtools/burn-cdrecord.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-cdrecord.c (original)
+++ trunk/src/plugins/cdrtools/burn-cdrecord.c Sun Nov 23 14:15:18 2008
@@ -1047,6 +1047,15 @@
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_PIPE|
BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_METADATA_INFO);
+
+ brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (input);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_PIPE|
+ BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_RAW|
BRASERO_AUDIO_FORMAT_44100);
brasero_plugin_link_caps (plugin, output, input);
Modified: trunk/src/plugins/dvdauthor/burn-dvdauthor.c
==============================================================================
--- trunk/src/plugins/dvdauthor/burn-dvdauthor.c (original)
+++ trunk/src/plugins/dvdauthor/burn-dvdauthor.c Sun Nov 23 14:15:18 2008
@@ -372,12 +372,25 @@
BRASERO_AUDIO_FORMAT_RAW|
BRASERO_AUDIO_FORMAT_44100|
BRASERO_AUDIO_FORMAT_48000|
+ BRASERO_METADATA_INFO|
BRASERO_VIDEO_FORMAT_VIDEO_DVD);
+
output = brasero_caps_data_new (BRASERO_IMAGE_FS_ISO|
BRASERO_IMAGE_FS_UDF|
BRASERO_IMAGE_FS_VIDEO);
brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (input);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_AC3|
+ BRASERO_AUDIO_FORMAT_MP2|
+ BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_AUDIO_FORMAT_48000|
+ BRASERO_VIDEO_FORMAT_VIDEO_DVD);
+
+ brasero_plugin_link_caps (plugin, output, input);
g_slist_free (output);
g_slist_free (input);
Modified: trunk/src/plugins/local-track/burn-local-image.c
==============================================================================
--- trunk/src/plugins/local-track/burn-local-image.c (original)
+++ trunk/src/plugins/local-track/burn-local-image.c Sun Nov 23 14:15:18 2008
@@ -1085,10 +1085,24 @@
BRASERO_AUDIO_FORMAT_AC3|
BRASERO_AUDIO_FORMAT_MP2|
BRASERO_AUDIO_FORMAT_44100|
- BRASERO_AUDIO_FORMAT_48000);
+ BRASERO_AUDIO_FORMAT_48000|
+ BRASERO_METADATA_INFO);
brasero_plugin_process_caps (plugin, caps);
g_slist_free (caps);
+ caps = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_UNDEFINED|
+ BRASERO_AUDIO_FORMAT_4_CHANNEL|
+ BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_VIDEO_FORMAT_UNDEFINED|
+ BRASERO_VIDEO_FORMAT_VCD|
+ BRASERO_VIDEO_FORMAT_VIDEO_DVD|
+ BRASERO_AUDIO_FORMAT_AC3|
+ BRASERO_AUDIO_FORMAT_MP2|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_AUDIO_FORMAT_48000);
+ brasero_plugin_process_caps (plugin, caps);
+ g_slist_free (caps);
caps = brasero_caps_data_new (BRASERO_IMAGE_FS_ANY);
brasero_plugin_process_caps (plugin, caps);
g_slist_free (caps);
Modified: trunk/src/plugins/transcode/burn-normalize.c
==============================================================================
--- trunk/src/plugins/transcode/burn-normalize.c (original)
+++ trunk/src/plugins/transcode/burn-normalize.c Sun Nov 23 14:15:18 2008
@@ -586,12 +586,18 @@
gst_object_unref (element);
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_UNDEFINED|
+ BRASERO_METADATA_INFO);
+ brasero_plugin_process_caps (plugin, input);
+ g_slist_free (input);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_UNDEFINED);
brasero_plugin_process_caps (plugin, input);
+ g_slist_free (input);
/* We should run first */
brasero_plugin_set_process_flags (plugin, BRASERO_PLUGIN_RUN_PREPROCESSING);
- g_slist_free (input);
return BRASERO_BURN_OK;
}
Modified: trunk/src/plugins/transcode/burn-transcode.c
==============================================================================
--- trunk/src/plugins/transcode/burn-transcode.c (original)
+++ trunk/src/plugins/transcode/burn-transcode.c Sun Nov 23 14:15:18 2008
@@ -1213,18 +1213,18 @@
brasero_job_get_current_track (BRASERO_JOB (transcode), &track);
info = brasero_track_get_audio_info (track);
- if (!strcmp (tag, GST_TAG_TITLE)) {
+ if (info && !strcmp (tag, GST_TAG_TITLE)) {
if (!info->title)
gst_tag_list_get_string (list, tag, &(info->title));
}
- else if (!strcmp (tag, GST_TAG_ARTIST)) {
+ else if (info && !strcmp (tag, GST_TAG_ARTIST)) {
if (!info->artist)
gst_tag_list_get_string (list, tag, &(info->artist));
}
- else if (!strcmp (tag, GST_TAG_ISRC)) {
+ else if (info && !strcmp (tag, GST_TAG_ISRC)) {
gst_tag_list_get_int (list, tag, &(info->isrc));
}
- else if (!strcmp (tag, GST_TAG_PERFORMER)) {
+ else if (info && !strcmp (tag, GST_TAG_PERFORMER)) {
if (!info->artist)
gst_tag_list_get_string (list, tag, &(info->artist));
}
@@ -1551,6 +1551,20 @@
output = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE|
BRASERO_PLUGIN_IO_ACCEPT_PIPE,
BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_METADATA_INFO);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_UNDEFINED|
+ BRASERO_METADATA_INFO);
+
+ brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (output);
+ g_slist_free (input);
+
+ output = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE|
+ BRASERO_PLUGIN_IO_ACCEPT_PIPE,
+ BRASERO_AUDIO_FORMAT_RAW|
BRASERO_AUDIO_FORMAT_44100);
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
Modified: trunk/src/plugins/transcode/burn-vob.c
==============================================================================
--- trunk/src/plugins/transcode/burn-vob.c (original)
+++ trunk/src/plugins/transcode/burn-vob.c Sun Nov 23 14:15:18 2008
@@ -1093,10 +1093,12 @@
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_UNDEFINED|
- BRASERO_VIDEO_FORMAT_UNDEFINED);
+ BRASERO_VIDEO_FORMAT_UNDEFINED|
+ BRASERO_METADATA_INFO);
output = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_MP2|
BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_METADATA_INFO|
BRASERO_VIDEO_FORMAT_VCD);
brasero_plugin_link_caps (plugin, output, input);
g_slist_free (output);
@@ -1107,10 +1109,31 @@
BRASERO_AUDIO_FORMAT_RAW|
BRASERO_AUDIO_FORMAT_44100|
BRASERO_AUDIO_FORMAT_48000|
+ BRASERO_METADATA_INFO|
BRASERO_VIDEO_FORMAT_VIDEO_DVD);
brasero_plugin_link_caps (plugin, output, input);
g_slist_free (output);
g_slist_free (input);
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_UNDEFINED|
+ BRASERO_VIDEO_FORMAT_UNDEFINED);
+ output = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_MP2|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_VIDEO_FORMAT_VCD);
+ brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (output);
+
+ output = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_AC3|
+ BRASERO_AUDIO_FORMAT_MP2|
+ BRASERO_AUDIO_FORMAT_RAW|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_AUDIO_FORMAT_48000|
+ BRASERO_VIDEO_FORMAT_VIDEO_DVD);
+ brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (output);
+ g_slist_free (input);
return BRASERO_BURN_OK;
}
Modified: trunk/src/plugins/vcdimager/burn-vcdimager.c
==============================================================================
--- trunk/src/plugins/vcdimager/burn-vcdimager.c (original)
+++ trunk/src/plugins/vcdimager/burn-vcdimager.c Sun Nov 23 14:15:18 2008
@@ -481,11 +481,21 @@
input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_AUDIO_FORMAT_MP2|
BRASERO_AUDIO_FORMAT_44100|
- BRASERO_VIDEO_FORMAT_VCD);
+ BRASERO_VIDEO_FORMAT_VCD|
+ BRASERO_METADATA_INFO);
+
output = brasero_caps_image_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
BRASERO_IMAGE_FORMAT_CUE);
brasero_plugin_link_caps (plugin, output, input);
+ g_slist_free (input);
+
+ input = brasero_caps_audio_new (BRASERO_PLUGIN_IO_ACCEPT_FILE,
+ BRASERO_AUDIO_FORMAT_MP2|
+ BRASERO_AUDIO_FORMAT_44100|
+ BRASERO_VIDEO_FORMAT_VCD);
+
+ brasero_plugin_link_caps (plugin, output, input);
g_slist_free (output);
g_slist_free (input);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]