The wma tagger.
[paraslash.git] / mm.c
diff --git a/mm.c b/mm.c
index 4f76d40f306f1de0706617c04e27dd3281e7ff40..902e41f0d59cc40589f7cf8aa1254a1811b5b08f 100644 (file)
--- a/mm.c
+++ b/mm.c
@@ -1,12 +1,11 @@
 /*
- * Copyright (C) 2007-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2007 Andre Noll <maan@tuebingen.mpg.de>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 
 /** \file mm.c Paraslash's mood methods. */
 
-#include <time.h>
 #include <regex.h>
 #include <fnmatch.h>
 #include <osl.h>
@@ -32,7 +31,7 @@
 enum mood_comparator_id {MOOD_COMPARATORS NUM_MOOD_COMPARATORS};
 #undef MC
 #define MC(a, b) # b,
-const char const *mood_comparators[] = {MOOD_COMPARATORS};
+static const char *mood_comparators[] = {MOOD_COMPARATORS};
 #undef MC
 
 static int parse_mood_comparator(const char *word)
@@ -187,6 +186,14 @@ static int mm_channels_score_function(__a_unused const char *path,
        return mm_compare_num_score_function(afhi->channels, private);
 }
 
+static int mm_num_played_score_function(__a_unused const char *path,
+               const struct afs_info *afsi,
+               __a_unused const struct afh_info *afhi,
+               const void *private)
+{
+       return mm_compare_num_score_function(afsi->num_played, private);
+}
+
 struct mm_year_data {
        /** Comparator and year given at the mood line. */
        struct mm_compare_num_data *cnd;
@@ -196,7 +203,7 @@ struct mm_year_data {
 
 static int mm_year_parser(int argc, char **argv, void **private)
 {
-       int ret = -E_MOOD_SYNTAX;
+       int ret;
        struct mm_year_data *mmyd = para_malloc(sizeof(*mmyd));
        time_t current_time;
        struct tm *gmt;
@@ -343,5 +350,6 @@ const struct mood_method mood_methods[] = {
        {DEFINE_COMPARE_NUM_MOOD_METHOD(bitrate)},
        {DEFINE_COMPARE_NUM_MOOD_METHOD(frequency)},
        {DEFINE_COMPARE_NUM_MOOD_METHOD(channels)},
+       {DEFINE_COMPARE_NUM_MOOD_METHOD(num_played)},
        {.parser = NULL}
 };