rhythmbox r6277 - in trunk: . plugins/audiocd



Author: jmatthew
Date: Tue Apr  7 07:15:58 2009
New Revision: 6277
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=6277&view=rev

Log:
2009-04-07  Jonathan Matthew  <jonathan d14n org>

	* configure.ac:
	Require libmusicbrainz3 3.0.2 for per-track artist information.

	* plugins/audiocd/sj-metadata-musicbrainz3.c:
	(make_album_from_release), (mb_list_albums):
	Update from sound-juicer, including fixes for #576574 and #575820.


Modified:
   trunk/ChangeLog
   trunk/configure.ac
   trunk/plugins/audiocd/sj-metadata-musicbrainz3.c

Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac	(original)
+++ trunk/configure.ac	Tue Apr  7 07:15:58 2009
@@ -35,6 +35,7 @@
 LIBNOTIFY_REQS=0.3.2
 LIBGPOD_REQS=0.6
 MUSICBRAINZ_REQS=2.1.0
+MUSICBRAINZ3_REQS=3.0.2
 NCB_MIN_REQS=2.21.6
 BRASERO_MIN_REQS=0.9.1
 TOTEM_PLPARSER_REQS=2.22.0
@@ -314,7 +315,7 @@
 AC_ARG_ENABLE(musicbrainz, AC_HELP_STRING([--disable-musicbrainz],
 				[don't build with MusicBrainz support]))
 if test x"$enable_musicbrainz" != "xno"; then
-	PKG_CHECK_MODULES(MUSICBRAINZ3, libmusicbrainz3, [have_musicbrainz3=yes], [have_musicbrainz3=no])
+	PKG_CHECK_MODULES(MUSICBRAINZ3, libmusicbrainz3 >= $MUSICBRAINZ3_REQS, [have_musicbrainz3=yes], [have_musicbrainz3=no])
 	PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz >= $MUSICBRAINZ_REQS, [have_musicbrainz=yes], [have_musicbrainz=no])
 
 	AC_SUBST(MUSICBRAINZ3_CFLAGS)

Modified: trunk/plugins/audiocd/sj-metadata-musicbrainz3.c
==============================================================================
--- trunk/plugins/audiocd/sj-metadata-musicbrainz3.c	(original)
+++ trunk/plugins/audiocd/sj-metadata-musicbrainz3.c	Tue Apr  7 07:15:58 2009
@@ -172,7 +172,9 @@
     GET (track->title, mb_track_get_title, mbt);
     track->duration = mb_track_get_duration (mbt) / 1000;
 
-    artist = mb_release_get_artist (release);
+    artist = mb_track_get_artist (mbt);
+    if (artist == NULL)
+      artist = mb_release_get_artist (release);
     GET (track->artist_id, mb_artist_get_id, artist);
     GET (track->artist, mb_artist_get_name, artist);
     GET (track->artist_sortname, mb_artist_get_sortname, artist);
@@ -264,16 +266,19 @@
     char buffer[512];
 
     release = mb_result_list_get_release (results, i);
-    mb_release_get_id (release, buffer, sizeof (buffer));
-    includes = get_release_includes ();
-    release = mb_query_get_release_by_id (query, buffer, includes);
-    mb_release_includes_free (includes);
-
-    album = make_album_from_release (release);
-    album->metadata_source = SOURCE_MUSICBRAINZ;
-    fill_empty_durations (priv->disc, album);
-    albums = g_list_append (albums, album);
-    mb_release_free (release);
+    if(release) {
+      mb_release_get_id (release, buffer, sizeof (buffer));
+      includes = get_release_includes ();
+      release = mb_query_get_release_by_id (query, buffer, includes);
+      if(release) {
+        mb_release_includes_free (includes);
+        album = make_album_from_release (release);
+        album->metadata_source = SOURCE_MUSICBRAINZ;
+        fill_empty_durations (priv->disc, album);
+        albums = g_list_append (albums, album);
+        mb_release_free (release);
+      }
+    }
   }
   mb_result_list_free (results);
   mb_query_free (query);



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