[sound-juicer] mb5: Ignore artist credits and track title from recordings
- From: Christophe Fergeau <teuf src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sound-juicer] mb5: Ignore artist credits and track title from recordings
- Date: Wed, 19 Jun 2013 21:03:00 +0000 (UTC)
commit ba6f39181570086718facd5f7196fa5e32b159d9
Author: Christophe Fergeau <cfergeau redhat com>
Date: Thu Apr 4 14:55:25 2013 +0200
mb5: Ignore artist credits and track title from recordings
Quoting Calvin Walton from
https://bugzilla.gnome.org/show_bug.cgi?id=690903#c8:
"The fallback order for the sound-juicer track artist should be as follows:
- Use the track/artist-credit if present
- Otherwise use the recording/artist-credit if present
- As a final fallback, use the release/artist-credit
The fallback order for the sound-juicer track name should be as follows:
- Use the track/title if present
- Otherwise use the recording/title"
libjuicer/sj-metadata-musicbrainz5.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/libjuicer/sj-metadata-musicbrainz5.c b/libjuicer/sj-metadata-musicbrainz5.c
index cad2141..9ba09e1 100644
--- a/libjuicer/sj-metadata-musicbrainz5.c
+++ b/libjuicer/sj-metadata-musicbrainz5.c
@@ -331,20 +331,24 @@ fill_tracks_from_medium (Mb5Medium medium, AlbumDetails *album)
track->number = mb5_track_get_position (mbt);
- /* duration from track is more reliable than from recording */
+ /* Prefer metadata from Mb5Track over metadata from Mb5Recording
+ * https://bugzilla.gnome.org/show_bug.cgi?id=690903#c8
+ */
track->duration = mb5_track_get_length (mbt) / 1000;
+ GET (track->title, mb5_track_get_title, mbt);
+ credit = mb5_track_get_artistcredit (mbt);
recording = mb5_track_get_recording (mbt);
if (recording != NULL) {
- GET (track->title, mb5_recording_get_title, recording);
GET (track->track_id, mb5_recording_get_id, recording);
fill_recording_relations (recording, track);
+
if (track->duration == 0)
track->duration = mb5_recording_get_length (recording) / 1000;
- credit = mb5_recording_get_artistcredit (recording);
- } else {
- GET (track->title, mb5_track_get_title, mbt);
- credit = mb5_track_get_artistcredit (mbt);
+ if (track->title == NULL)
+ GET (track->title, mb5_recording_get_title, recording);
+ if (credit == NULL)
+ credit = mb5_recording_get_artistcredit (recording);
}
if (credit) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]