Re: musicbrainz "data track" not hidden
Olaf Hering <[email protected]>
| Newsgroups | gmane.comp.gnome.apps.rhythmbox.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Aug 02, Christophe Fergeau wrote: > 2011/8/2 Olaf Hering <[email protected]>: > > So perhaps gst has an option to show all 13 tracks to allow rhythmbox to > > match all 13 tracks listed in the musicbrainz tracklist, and let > > rhythmbox filter the "[data track]"? > > So gst shows the 12 audio tracks, mb gives you the 12 audio tracks + > the data track, you want to change gst to return 12+1 tracks, and then > filter the data track. Wouldn't it be easier to directly filter the > data track from what mb returns? This kind of works, but the I think the TRACKNUMBER= tags are now off-by-one. Olaf Index: rhythmbox-0.13.3/plugins/audiocd/sj-metadata-musicbrainz3.c =================================================================== --- rhythmbox-0.13.3.orig/plugins/audiocd/sj-metadata-musicbrainz3.c +++ rhythmbox-0.13.3/plugins/audiocd/sj-metadata-musicbrainz3.c @@ -173,11 +173,22 @@ make_album_from_release (MbRelease *rele for (i = 0; i < album->number; i++) { MbTrack mbt; TrackDetails *track; + char *artist_id; mbt = mb_release_get_track (release, i); + + artist = mb_track_get_artist (mbt); + if (artist == NULL) + artist = mb_release_get_artist (release); + + GET_ID (artist_id, mb_artist_get_id, artist); + if(g_str_equal(artist_id, "33cf029c-63b0-41a0-9855-be2a3665fb3b")) + continue; + track = g_new0 (TrackDetails, 1); track->album = album; + track->artist_id = artist_id; track->number = i + 1; GET_ID (track->track_id, mb_track_get_id, mbt); @@ -185,10 +196,6 @@ make_album_from_release (MbRelease *rele GET (track->title, mb_track_get_title, mbt); track->duration = mb_track_get_duration (mbt) / 1000; - artist = mb_track_get_artist (mbt); - if (artist == NULL) - artist = mb_release_get_artist (release); - GET_ID (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);