core/tags/album: Add a pointer to the struct artist
This is needed for album art fetching to get more accurate results for our MusicBrainz query. Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
97c8f80393
commit
0d9b7baff6
|
@ -17,9 +17,10 @@ static struct album *__album_alloc(gchar *name, unsigned int year)
|
||||||
struct album *album = g_malloc(sizeof(struct album));
|
struct album *album = g_malloc(sizeof(struct album));
|
||||||
|
|
||||||
dbe_init(&album->al_dbe, album);
|
dbe_init(&album->al_dbe, album);
|
||||||
album->al_year = year;
|
album->al_year = year;
|
||||||
album->al_name = name;
|
album->al_name = name;
|
||||||
album->al_lower = string_lowercase(album->al_name);
|
album->al_lower = string_lowercase(album->al_name);
|
||||||
|
album->al_artist = NULL;
|
||||||
|
|
||||||
return album;
|
return album;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
|
|
||||||
void tags_init()
|
void tags_init()
|
||||||
{
|
{
|
||||||
album_db_init();
|
|
||||||
artist_db_init();
|
artist_db_init();
|
||||||
|
album_db_init();
|
||||||
genre_db_init();
|
genre_db_init();
|
||||||
library_db_init();
|
library_db_init();
|
||||||
track_db_init();
|
track_db_init();
|
||||||
|
@ -22,6 +22,6 @@ void tags_deinit()
|
||||||
track_db_deinit();
|
track_db_deinit();
|
||||||
library_db_deinit();
|
library_db_deinit();
|
||||||
genre_db_deinit();
|
genre_db_deinit();
|
||||||
artist_db_deinit();
|
|
||||||
album_db_deinit();
|
album_db_deinit();
|
||||||
|
artist_db_deinit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,9 @@ struct db_entry *track_alloc(const gchar *key)
|
||||||
track->tr_genre = genre_find(taglib_tag_genre(tag));
|
track->tr_genre = genre_find(taglib_tag_genre(tag));
|
||||||
track->tr_library = library;
|
track->tr_library = library;
|
||||||
|
|
||||||
|
if (track->tr_album->al_artist == NULL)
|
||||||
|
track->tr_album->al_artist = track->tr_artist;
|
||||||
|
|
||||||
unplayed_count++;
|
unplayed_count++;
|
||||||
track->tr_count = 0;
|
track->tr_count = 0;
|
||||||
track->tr_length = taglib_audioproperties_length(audio);
|
track->tr_length = taglib_audioproperties_length(audio);
|
||||||
|
@ -138,6 +141,9 @@ static struct db_entry *track_read(struct file *file)
|
||||||
track->tr_genre = genre_get(genre_id);
|
track->tr_genre = genre_get(genre_id);
|
||||||
track->tr_library = library_get(library_id);
|
track->tr_library = library_get(library_id);
|
||||||
|
|
||||||
|
if (track->tr_album->al_artist == NULL)
|
||||||
|
track->tr_album->al_artist = track->tr_artist;
|
||||||
|
|
||||||
track->tr_title = file_readl(file);
|
track->tr_title = file_readl(file);
|
||||||
track->tr_lower = string_lowercase(track->tr_title);
|
track->tr_lower = string_lowercase(track->tr_title);
|
||||||
track->tr_path = __track_key(track->tr_library, file_readl(file));
|
track->tr_path = __track_key(track->tr_library, file_readl(file));
|
||||||
|
|
|
@ -15,11 +15,13 @@
|
||||||
#define OCARINA_CORE_TAGS_ALBUM_H
|
#define OCARINA_CORE_TAGS_ALBUM_H
|
||||||
|
|
||||||
#include <core/containers/database.h>
|
#include <core/containers/database.h>
|
||||||
|
#include <core/tags/artist.h>
|
||||||
|
|
||||||
struct album {
|
struct album {
|
||||||
unsigned int al_year; /* This album's year. */
|
unsigned int al_year; /* This album's year. */
|
||||||
gchar *al_name; /* This album's name. */
|
gchar *al_name; /* This album's name. */
|
||||||
gchar *al_lower; /* This album's name (lowercased). */
|
gchar *al_lower; /* This album's name (lowercased). */
|
||||||
|
struct artist *al_artist;
|
||||||
struct db_entry al_dbe;
|
struct db_entry al_dbe;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@ containers/database
|
||||||
containers/index
|
containers/index
|
||||||
containers/queue
|
containers/queue
|
||||||
filter
|
filter
|
||||||
tags/album
|
|
||||||
tags/artist
|
tags/artist
|
||||||
|
tags/album
|
||||||
tags/genre
|
tags/genre
|
||||||
tags/library
|
tags/library
|
||||||
tags/track
|
tags/track
|
||||||
|
|
|
@ -11,8 +11,8 @@ def TagTest(name):
|
||||||
return run
|
return run
|
||||||
|
|
||||||
env.UsePackage("taglib_c")
|
env.UsePackage("taglib_c")
|
||||||
res += [ TagTest("album") ]
|
|
||||||
res += [ TagTest("artist") ]
|
res += [ TagTest("artist") ]
|
||||||
|
res += [ TagTest("album") ]
|
||||||
res += [ TagTest("genre") ]
|
res += [ TagTest("genre") ]
|
||||||
res += [ TagTest("library") ]
|
res += [ TagTest("library") ]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue