diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2012-01-08 20:38:11 +0400 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2012-01-13 00:26:49 +0100 |
commit | 6a40affe4d2492835689a30cb800ef0d66ff6ff0 (patch) | |
tree | d7c6e5dcd46b7144d9e24a35ad9a910a75f13e6d | |
parent | c022849e9346bd1b61cf78956203d7d33bca235a (diff) |
mb4: kill SjMb4TrackDetailsmusicbrainz
The only addition to TrackDetails was the artist list, which this
commit adds to TrackDetails.
-rw-r--r-- | libjuicer/sj-metadata-musicbrainz4.c | 20 | ||||
-rw-r--r-- | libjuicer/sj-structures.c | 2 | ||||
-rw-r--r-- | libjuicer/sj-structures.h | 1 |
3 files changed, 5 insertions, 18 deletions
diff --git a/libjuicer/sj-metadata-musicbrainz4.c b/libjuicer/sj-metadata-musicbrainz4.c index e77927e..573ef64 100644 --- a/libjuicer/sj-metadata-musicbrainz4.c +++ b/libjuicer/sj-metadata-musicbrainz4.c @@ -87,20 +87,6 @@ G_DEFINE_TYPE_WITH_CODE (SjMetadataMusicbrainz4, /* * Private methods */ -struct _SjMb4TrackDetails { - TrackDetails parent; - GList *artists; -}; -typedef struct _SjMb4TrackDetails SjMb4TrackDetails; - -static void -sj_mb4_track_details_free (SjMb4TrackDetails *details) -{ - g_list_foreach (details->artists, (GFunc)artist_details_free, NULL); - g_list_free (details->artists); - track_details_free ((TrackDetails *)details); -} - #ifdef DUMP_DETAILS static void sj_mb4_album_details_dump (AlbumDetails *details) @@ -263,14 +249,12 @@ fill_tracks_from_medium (Mb4Medium medium, AlbumDetails *album) Mb4ArtistCredit credit; Mb4Recording recording; TrackDetails *track; - SjMb4TrackDetails *mb4_track; mbt = mb4_track_list_item (track_list, i); if (!mbt) continue; - mb4_track = g_new0 (SjMb4TrackDetails, 1); - track = &mb4_track->parent; + track = g_new0 (TrackDetails, 1); track->album = album; @@ -295,7 +279,7 @@ fill_tracks_from_medium (Mb4Medium medium, AlbumDetails *album) &track->artist_sortname, &track->artist_id); } - mb4_track->artists = artists; + track->artists = artists; } if (track->artist == NULL) track->artist = g_strdup (album->artist); diff --git a/libjuicer/sj-structures.c b/libjuicer/sj-structures.c index 701ca4e..b4577d4 100644 --- a/libjuicer/sj-structures.c +++ b/libjuicer/sj-structures.c @@ -35,6 +35,8 @@ void track_details_free(TrackDetails *track) g_free (track->track_id); g_free (track->artist_id); g_free (track->artist_sortname); + g_list_foreach (track->artists, (GFunc)artist_details_free, NULL); + g_free (track); } diff --git a/libjuicer/sj-structures.h b/libjuicer/sj-structures.h index da7fc58..46d67e9 100644 --- a/libjuicer/sj-structures.h +++ b/libjuicer/sj-structures.h @@ -49,6 +49,7 @@ struct _TrackDetails { int duration; /* seconds */ char* track_id; char* artist_id; + GList *artists; }; struct _AlbumDetails { |