diff options
Diffstat (limited to 'music.c')
-rw-r--r-- | music.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -191,15 +191,27 @@ static GSList *music_find_rec(struct directory *directory, const gchar *name, en return list; } -GSList *music_find_artist(const gchar *_name) { +static GSList *music_find(const gchar *_name, enum tag_type type) { gchar *name = g_utf8_casefold(_name, strlen(_name)); - GSList *list = music_find_rec(music_root, name, TAG_TYPE_ARTIST); + GSList *list = music_find_rec(music_root, name, type); g_free(name); return list; } +GSList *music_find_artist(const gchar *name) { + return music_find(name, TAG_TYPE_ARTIST); +} + +GSList *music_find_title(const gchar *name) { + return music_find(name, TAG_TYPE_TITLE); +} + +GSList *music_find_album(const gchar *name) { + return music_find(name, TAG_TYPE_ALBUM); +} + gchar *music_get_full_path(const gchar *path) { return g_build_filename(music_root->path, path, NULL); } |