brasero r992 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r992 - in trunk: . src
- Date: Tue, 15 Jul 2008 11:43:56 +0000 (UTC)
Author: philippr
Date: Tue Jul 15 11:43:55 2008
New Revision: 992
URL: http://svn.gnome.org/viewvc/brasero?rev=992&view=rev
Log:
Fix #542835 â Using Split-Track two times on same audiofile refuses Brasero from burning the data because of oversize
Also fix some other quirks with audio project size calculation
* src/brasero-audio-disc.c
(brasero_audio_disc_set_row_from_metadata),
(brasero_audio_disc_add_slices),
(brasero_audio_disc_edit_song_properties):
Modified:
trunk/ChangeLog
trunk/src/brasero-audio-disc.c
Modified: trunk/src/brasero-audio-disc.c
==============================================================================
--- trunk/src/brasero-audio-disc.c (original)
+++ trunk/src/brasero-audio-disc.c Tue Jul 15 11:43:55 2008
@@ -1228,7 +1228,11 @@
-1);
/* make sure there is a length and it's not over the real one */
- current_length = BRASERO_AUDIO_TRACK_LENGTH (start, end);
+ if (start >= 0 && end > 0)
+ current_length = BRASERO_AUDIO_TRACK_LENGTH (start, end);
+ else
+ current_length = 0;
+
if (current_length > g_file_info_get_attribute_uint64 (info, BRASERO_IO_LEN)) {
guint64 len;
@@ -1272,7 +1276,6 @@
}
else if (end - start < BRASERO_MIN_AUDIO_TRACK_LENGTH) {
brasero_audio_disc_short_track_dialog (disc);
-
}
length = BRASERO_AUDIO_TRACK_LENGTH (start, end);
@@ -2660,12 +2663,16 @@
gint64 length;
GSList *iter;
+ gint64 start;
+ gint64 end;
+
gchar *uri;
gchar *isrc;
gchar *name;
gchar *artist;
gchar *composer;
gchar *icon_string;
+
if (!slices)
return;
@@ -2674,14 +2681,6 @@
model = gtk_tree_view_get_model (GTK_TREE_VIEW (disc->priv->tree));
- string = brasero_utils_get_time_string (BRASERO_AUDIO_TRACK_LENGTH (slice->start, slice->end), TRUE, FALSE);
- gtk_list_store_set (GTK_LIST_STORE (model), parent,
- START_COL, slice->start,
- END_COL, slice->end,
- SIZE_COL, string,
- -1);
- g_free (string);
-
gtk_tree_model_get (model, parent,
NAME_COL, &name,
ICON_COL, &icon_string,
@@ -2690,8 +2689,20 @@
ISRC_COL, &isrc,
URI_COL, &uri,
LENGTH_COL, &length,
+ START_COL, &start,
+ END_COL, &end,
-1);
-
+ disc->priv->sectors -= BRASERO_DURATION_TO_SECTORS (BRASERO_AUDIO_TRACK_LENGTH (start, end));
+
+ string = brasero_utils_get_time_string (BRASERO_AUDIO_TRACK_LENGTH (slice->start, slice->end), TRUE, FALSE);
+ gtk_list_store_set (GTK_LIST_STORE (model), parent,
+ START_COL, slice->start,
+ END_COL, slice->end,
+ SIZE_COL, string,
+ -1);
+ g_free (string);
+ disc->priv->sectors += BRASERO_DURATION_TO_SECTORS (BRASERO_AUDIO_TRACK_LENGTH (slice->start, slice->end));
+
for (iter = slices->next; iter; iter = iter->next) {
slice = iter->data;
@@ -2712,8 +2723,9 @@
SIZE_COL, string,
LENGTH_COL, length,
-1);
-
g_free (string);
+
+ disc->priv->sectors += BRASERO_DURATION_TO_SECTORS (BRASERO_AUDIO_TRACK_LENGTH (slice->start, slice->end));
}
g_free (icon_string);
@@ -2721,6 +2733,8 @@
g_free (artist);
g_free (name);
g_free (uri);
+
+ brasero_disc_size_changed (BRASERO_DISC (disc), disc->priv->sectors);
}
static void
@@ -2951,6 +2965,8 @@
brasero_audio_disc_edit_song_properties (BraseroAudioDisc *disc,
GList *list)
{
+ gint64 end;
+ gint64 start;
GList *item;
gint song_num;
gint track_num;
@@ -2989,9 +3005,7 @@
if (song_num == 1) {
gint isrc;
- gint64 end;
gint64 gap;
- gint64 start;
gint64 length;
gboolean is_song;
gboolean success;
@@ -3077,9 +3091,7 @@
if (treepath) {
gint isrc;
- gint64 end;
gint64 gap;
- gint64 start;
gchar *title;
gchar *markup;
gchar *artist;
@@ -3097,9 +3109,6 @@
&end,
&gap);
- disc->priv->sectors += BRASERO_DURATION_TO_SECTORS (BRASERO_AUDIO_TRACK_LENGTH (start, end));
- brasero_audio_disc_size_changed (disc);
-
markup = g_markup_escape_text (title, -1);
length_str = brasero_utils_get_time_string (BRASERO_AUDIO_TRACK_LENGTH (start, end), TRUE, FALSE);
@@ -3122,6 +3131,9 @@
if (gap)
brasero_audio_disc_add_gap (disc, &iter, gap);
+ disc->priv->sectors += BRASERO_DURATION_TO_SECTORS (BRASERO_AUDIO_TRACK_LENGTH (start, end));
+ brasero_audio_disc_size_changed (disc);
+
g_free (title);
g_free (artist);
g_free (composer);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]