sound-juicer r2277 - in trunk: . libjuicer tests
- From: hadess svn gnome org
- To: svn-commits-list gnome org
- Subject: sound-juicer r2277 - in trunk: . libjuicer tests
- Date: Wed, 3 Sep 2008 13:07:50 +0000 (UTC)
Author: hadess
Date: Wed Sep 3 13:07:49 2008
New Revision: 2277
URL: http://svn.gnome.org/viewvc/sound-juicer?rev=2277&view=rev
Log:
2008-09-03 Bastien Nocera <hadess hadess net>
* libjuicer/sj-metadata-musicbrainz.c (lookup_cd):
* libjuicer/sj-structures.c (album_details_free):
* libjuicer/sj-structures.h:
* tests/mb-test.c (source_to_str), (metadata_cb):
Export ASIN, discogs and Wikipedia URLs in the disc metadata,
only ASIN implemented for the Musicbrainz2 backend right now
(Closes: #550587)
Modified:
trunk/ChangeLog
trunk/libjuicer/sj-metadata-musicbrainz.c
trunk/libjuicer/sj-structures.c
trunk/libjuicer/sj-structures.h
trunk/tests/mb-test.c
Modified: trunk/libjuicer/sj-metadata-musicbrainz.c
==============================================================================
--- trunk/libjuicer/sj-metadata-musicbrainz.c (original)
+++ trunk/libjuicer/sj-metadata-musicbrainz.c Wed Sep 3 13:07:49 2008
@@ -423,6 +423,10 @@
album->title = g_strdup (_("Unknown Title"));
}
+ if (mb_GetResultData(priv->mb, MBE_AlbumGetAmazonAsin, data, sizeof (data))) {
+ album->asin = g_strdup (data);
+ }
+
if (g_regex_match (priv->disc_regex, album->title, 0, &info)) {
int pos = 0;
char *s;
Modified: trunk/libjuicer/sj-structures.c
==============================================================================
--- trunk/libjuicer/sj-structures.c (original)
+++ trunk/libjuicer/sj-structures.c Wed Sep 3 13:07:49 2008
@@ -52,5 +52,8 @@
if (album->release_date) g_date_free (album->release_date);
g_list_deep_free (album->tracks, (GFunc)track_details_free);
g_free (album->artist_sortname);
+ g_free (album->asin);
+ g_free (album->discogs);
+ g_free (album->wikipedia);
g_free (album);
}
Modified: trunk/libjuicer/sj-structures.h
==============================================================================
--- trunk/libjuicer/sj-structures.h (original)
+++ trunk/libjuicer/sj-structures.h Wed Sep 3 13:07:49 2008
@@ -32,6 +32,7 @@
typedef struct _TrackDetails TrackDetails;
enum _MetadataSource {
+ SOURCE_UNKNOWN = 0,
SOURCE_CDTEXT,
SOURCE_FREEDB,
SOURCE_MUSICBRAINZ
@@ -59,6 +60,9 @@
GDate *release_date; /* MusicBrainz support multiple releases per album */
char* album_id;
char* artist_id;
+ char* asin;
+ char* discogs;
+ char* wikipedia;
MetadataSource metadata_source;
};
Modified: trunk/tests/mb-test.c
==============================================================================
--- trunk/tests/mb-test.c (original)
+++ trunk/tests/mb-test.c Wed Sep 3 13:07:49 2008
@@ -4,6 +4,18 @@
#include "sj-metadata.h"
#include "sj-metadata-musicbrainz.h"
+static const char *
+source_to_str (MetadataSource source)
+{
+ const char * strs[] = {
+ "Unknown",
+ "CD-Text",
+ "FreeDB",
+ "MusicBrainz"
+ };
+ return strs[source];
+}
+
static void
metadata_cb (SjMetadata *metadata, GList *albums, GError *error)
{
@@ -17,6 +29,15 @@
while (albums) {
AlbumDetails *album;
album = (AlbumDetails*)albums->data;
+ g_print ("Source: %s\n", source_to_str(album->metadata_source));
+ if (album->metadata_source == SOURCE_MUSICBRAINZ)
+ g_print ("Album ID: %s\n", album->album_id);
+ if (album->asin != NULL)
+ g_print ("ASIN: %s\n", album->asin);
+ if (album->discogs != NULL)
+ g_print ("Discogs: %s\n", album->discogs);
+ if (album->wikipedia != NULL)
+ g_print ("Wikipedia: %s\n", album->wikipedia);
g_print ("'%s', by %s\n", album->title, album->artist);
while (album->tracks) {
TrackDetails *track = (TrackDetails*)album->tracks->data;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]