summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2012-01-08 20:38:11 +0400
committerChristophe Fergeau <cfergeau@redhat.com>2012-01-13 00:26:49 +0100
commit6a40affe4d2492835689a30cb800ef0d66ff6ff0 (patch)
treed7c6e5dcd46b7144d9e24a35ad9a910a75f13e6d
parentc022849e9346bd1b61cf78956203d7d33bca235a (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.c20
-rw-r--r--libjuicer/sj-structures.c2
-rw-r--r--libjuicer/sj-structures.h1
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 {