[rhythmbox] rhythmdb: disable replaygain properties



commit 82a1a7f1af044dc6a90ce1d16e54ddec352b4fcc
Author: Jonathan Matthew <jonathan d14n org>
Date:   Sun Feb 7 11:03:05 2010 +1000

    rhythmdb: disable replaygain properties
    
    The property IDs are still there, but they can no longer be modified,
    and retrieving them only returns default values.  The fields are no
    longer present in the RhythmDBEntry structure, so we aren't wasting 4
    doubles per entry on data that never gets used.

 rhythmdb/rhythmdb-private.h |    4 --
 rhythmdb/rhythmdb-tree.c    |   24 +++++++-------
 rhythmdb/rhythmdb.c         |   68 +++++++-----------------------------------
 rhythmdb/rhythmdb.h         |    8 ++--
 4 files changed, 28 insertions(+), 76 deletions(-)
---
diff --git a/rhythmdb/rhythmdb-private.h b/rhythmdb/rhythmdb-private.h
index 3b9892b..890a556 100644
--- a/rhythmdb/rhythmdb-private.h
+++ b/rhythmdb/rhythmdb-private.h
@@ -87,10 +87,6 @@ struct RhythmDBEntry_ {
 	gulong discnum;
 	gulong duration;
 	gulong bitrate;
-	double track_gain;
-	double track_peak;
-	double album_gain;
-	double album_peak;
 	GDate date;
 
 	/* filesystem */
diff --git a/rhythmdb/rhythmdb-tree.c b/rhythmdb/rhythmdb-tree.c
index 4edca7c..8005ca9 100644
--- a/rhythmdb/rhythmdb-tree.c
+++ b/rhythmdb/rhythmdb-tree.c
@@ -639,6 +639,13 @@ rhythmdb_tree_parser_end_element (struct RhythmDBTreeLoadContext *ctx,
 				set = TRUE;
 			}
 			break;
+			/* drop replaygain properties */
+		case RHYTHMDB_PROP_TRACK_GAIN:
+		case RHYTHMDB_PROP_TRACK_PEAK:
+		case RHYTHMDB_PROP_ALBUM_GAIN:
+		case RHYTHMDB_PROP_ALBUM_PEAK:
+			skip = TRUE;
+			break;
 		default:
 			break;
 		}
@@ -1004,18 +1011,6 @@ save_entry (RhythmDBTree *db,
 		case RHYTHMDB_PROP_BITRATE:
 			save_entry_int(ctx, elt_name, entry->bitrate);
 			break;
-		case RHYTHMDB_PROP_TRACK_GAIN:
-			save_entry_double(ctx, elt_name, entry->track_gain);
-			break;
-		case RHYTHMDB_PROP_TRACK_PEAK:
-			save_entry_double(ctx, elt_name, entry->track_peak);
-			break;
-		case RHYTHMDB_PROP_ALBUM_GAIN:
-			save_entry_double(ctx, elt_name, entry->album_gain);
-			break;
-		case RHYTHMDB_PROP_ALBUM_PEAK:
-			save_entry_double(ctx, elt_name, entry->album_peak);
-			break;
 		case RHYTHMDB_PROP_LOCATION:
 			save_entry_string(ctx, elt_name, rb_refstring_get (entry->location));
 			break;
@@ -1120,6 +1115,11 @@ save_entry (RhythmDBTree *db,
 		case RHYTHMDB_PROP_SEARCH_MATCH:
 		case RHYTHMDB_PROP_YEAR:
 		case RHYTHMDB_NUM_PROPERTIES:
+		/* obsolete replaygain properties */
+		case RHYTHMDB_PROP_TRACK_GAIN:
+		case RHYTHMDB_PROP_TRACK_PEAK:
+		case RHYTHMDB_PROP_ALBUM_GAIN:
+		case RHYTHMDB_PROP_ALBUM_PEAK:
 			break;
 		}
 	}
diff --git a/rhythmdb/rhythmdb.c b/rhythmdb/rhythmdb.c
index 46a1d62..10af0cf 100644
--- a/rhythmdb/rhythmdb.c
+++ b/rhythmdb/rhythmdb.c
@@ -557,18 +557,6 @@ metadata_field_from_prop (RhythmDBPropType prop,
 	case RHYTHMDB_PROP_DATE:
 		*field = RB_METADATA_FIELD_DATE;
 		return TRUE;
-	case RHYTHMDB_PROP_TRACK_GAIN:
-		*field = RB_METADATA_FIELD_TRACK_GAIN;
-		return TRUE;
-	case RHYTHMDB_PROP_TRACK_PEAK:
-		*field = RB_METADATA_FIELD_TRACK_PEAK;
-		return TRUE;
-	case RHYTHMDB_PROP_ALBUM_GAIN:
-		*field = RB_METADATA_FIELD_ALBUM_GAIN;
-		return TRUE;
-	case RHYTHMDB_PROP_ALBUM_PEAK:
-		*field = RB_METADATA_FIELD_ALBUM_PEAK;
-		return TRUE;
 	case RHYTHMDB_PROP_MUSICBRAINZ_TRACKID:
 		*field = RB_METADATA_FIELD_MUSICBRAINZ_TRACKID;
 		return TRUE;
@@ -2001,42 +1989,6 @@ set_props_from_metadata (RhythmDB *db,
 					  RB_METADATA_FIELD_ALBUM,
 					  RHYTHMDB_PROP_ALBUM,
 					  _("Unknown"));
-
-	/* replaygain track gain */
-        if (rb_metadata_get (metadata,
-                             RB_METADATA_FIELD_TRACK_GAIN,
-                             &val)) {
-		rhythmdb_entry_set_internal (db, entry, TRUE,
-					     RHYTHMDB_PROP_TRACK_GAIN, &val);
-		g_value_unset (&val);
-	}
-
-	/* replaygain track peak */
-	if (rb_metadata_get (metadata,
-			     RB_METADATA_FIELD_TRACK_PEAK,
-			     &val)) {
-		rhythmdb_entry_set_internal (db, entry, TRUE,
-					     RHYTHMDB_PROP_TRACK_PEAK, &val);
-		g_value_unset (&val);
-	}
-
-	/* replaygain album gain */
-	if (rb_metadata_get (metadata,
-			     RB_METADATA_FIELD_ALBUM_GAIN,
-			     &val)) {
-		rhythmdb_entry_set_internal (db, entry, TRUE,
-					     RHYTHMDB_PROP_ALBUM_GAIN, &val);
-		g_value_unset (&val);
-	}
-
-	/* replaygain album peak */
-	if (rb_metadata_get (metadata,
-			     RB_METADATA_FIELD_ALBUM_PEAK,
-			     &val)) {
-		rhythmdb_entry_set_internal (db, entry, TRUE,
-					     RHYTHMDB_PROP_ALBUM_PEAK, &val);
-		g_value_unset (&val);
-	}
 }
 
 static gboolean
@@ -3539,16 +3491,16 @@ rhythmdb_entry_set_internal (RhythmDB *db,
 			break;
 		}
 		case RHYTHMDB_PROP_TRACK_GAIN:
-			entry->track_gain = g_value_get_double (value);
+			g_warning ("RHYTHMDB_PROP_TRACK_GAIN no longer supported");
 			break;
 		case RHYTHMDB_PROP_TRACK_PEAK:
-			entry->track_peak = g_value_get_double (value);
+			g_warning ("RHYTHMDB_PROP_TRACK_PEAK no longer supported");
 			break;
 		case RHYTHMDB_PROP_ALBUM_GAIN:
-			entry->album_gain = g_value_get_double (value);
+			g_warning ("RHYTHMDB_PROP_ALBUM_GAIN no longer supported");
 			break;
 		case RHYTHMDB_PROP_ALBUM_PEAK:
-			entry->album_peak = g_value_get_double (value);
+			g_warning ("RHYTHMDB_PROP_ALBUM_PEAK no longer supported");
 			break;
 		case RHYTHMDB_PROP_LOCATION:
 			rb_refstring_unref (entry->location);
@@ -5335,13 +5287,17 @@ rhythmdb_entry_get_double (RhythmDBEntry *entry,
 
 	switch (propid) {
 	case RHYTHMDB_PROP_TRACK_GAIN:
-		return entry->track_gain;
+		g_warning ("RHYTHMDB_PROP_TRACK_GAIN no longer supported");
+		return 0.0;
 	case RHYTHMDB_PROP_TRACK_PEAK:
-		return entry->track_peak;
+		g_warning ("RHYTHMDB_PROP_TRACK_PEAK no longer supported");
+		return 1.0;
 	case RHYTHMDB_PROP_ALBUM_GAIN:
-		return entry->album_gain;
+		g_warning ("RHYTHMDB_PROP_ALBUM_GAIN no longer supported");
+		return 0.0;
 	case RHYTHMDB_PROP_ALBUM_PEAK:
-		return entry->album_peak;
+		g_warning ("RHYTHMDB_PROP_ALBUM_PEAK no longer supported");
+		return 1.0;
 	case RHYTHMDB_PROP_RATING:
 		return entry->rating;
 	default:
diff --git a/rhythmdb/rhythmdb.h b/rhythmdb/rhythmdb.h
index 9b9ae1f..56bce41 100644
--- a/rhythmdb/rhythmdb.h
+++ b/rhythmdb/rhythmdb.h
@@ -170,10 +170,10 @@ typedef enum
 	RHYTHMDB_PROP_LAST_PLAYED,
 	RHYTHMDB_PROP_BITRATE,
 	RHYTHMDB_PROP_DATE,
-	RHYTHMDB_PROP_TRACK_GAIN,
-	RHYTHMDB_PROP_TRACK_PEAK,
-	RHYTHMDB_PROP_ALBUM_GAIN,
-	RHYTHMDB_PROP_ALBUM_PEAK,
+	RHYTHMDB_PROP_TRACK_GAIN,			/* obsolete */
+	RHYTHMDB_PROP_TRACK_PEAK,			/* obsolete */
+	RHYTHMDB_PROP_ALBUM_GAIN,			/* obsolete */
+	RHYTHMDB_PROP_ALBUM_PEAK,			/* obsolete */
 	RHYTHMDB_PROP_MIMETYPE,
 	RHYTHMDB_PROP_TITLE_SORT_KEY,
 	RHYTHMDB_PROP_GENRE_SORT_KEY,



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