X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mood.c;h=86e0eba22c0819ea657423ec7934cce959e92142;hp=b7ee99eb73799b03fdd0fff63b7ff77e940a1a82;hb=423ec3140c9774bbeaccb7afaef8e74b1d7d05f2;hpb=a1ba8789e586943643e38979465be3af83840540 diff --git a/mood.c b/mood.c index b7ee99eb..86e0eba2 100644 --- a/mood.c +++ b/mood.c @@ -176,8 +176,6 @@ static int mm_no_attributes_set_score_function(__a_unused const char *path, __a_unused const struct audio_format_info *afhi, __a_unused const void *data) { - if (!strcmp(path, "/home/mp3/checked/dvd_08/cd_52/Sade__Paradise.mp3")) - PARA_NOTICE_LOG("%s: %llu\n", path, afsi->attributes); if (!afsi->attributes) return 100; return -100; @@ -310,31 +308,21 @@ static int compute_mood_score(const struct osl_row *aft_row, struct mood *m, return 1; } +#define DEFINE_MOOD_METHOD(_name) \ +.parser = mm_ ## _name ## _parser, \ +.score_function = mm_ ## _name ## _score_function, \ +.name = #_name + +#define DEFINE_MOOD_METHOD_WITH_CLEANUP(_name) \ + DEFINE_MOOD_METHOD(_name), \ + .cleanup = mm_ ## _name ## _cleanup + static const struct mood_method mood_methods[] = { -{ - .parser = mm_no_attributes_set_parser, - .score_function = mm_no_attributes_set_score_function, - .name = "no_attributes_set" -}, -{ - .parser = mm_played_rarely_parser, - .score_function = mm_played_rarely_score_function, - .name = "played_rarely" -}, -{ - .parser = mm_is_set_parser, - .score_function = mm_is_set_score_function, - .name = "is_set" -}, -{ - .parser = mm_name_like_parser, - .score_function = mm_name_like_score_function, - .cleanup = mm_name_like_cleanup, - .name = "name_like" -}, -{ - .parser = NULL -} + {DEFINE_MOOD_METHOD(no_attributes_set)}, + {DEFINE_MOOD_METHOD(played_rarely)}, + {DEFINE_MOOD_METHOD(is_set)}, + {DEFINE_MOOD_METHOD_WITH_CLEANUP(name_like)}, + {.parser = NULL} }; static void cleanup_list_entry(struct mood_item *item)