__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;
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)