X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mm.c;h=92856ec3ef903eb905b0379c6eaff605bf6f8d06;hp=902e41f0d59cc40589f7cf8aa1254a1811b5b08f;hb=e0e0da08c77df028c261e27f3ab0b6250fbaa3bc;hpb=e9b00a14a4653d767a9d0fe885aa0b6d56c42180 diff --git a/mm.c b/mm.c index 902e41f0..92856ec3 100644 --- a/mm.c +++ b/mm.c @@ -17,6 +17,7 @@ #include "afs.h" #include "mm.h" +/** The comparators for numeric mood methods (year, bitrate, ...). */ #define MOOD_COMPARATORS \ MC(LESS, <) \ MC(LESS_OR_EQUAL, <=) \ @@ -27,10 +28,14 @@ MC(GREATER, >) \ MC(GREATER_OR_EQUAL, >=) \ +/** Prefix mood comparator name with "_MC", example: MC_LESS. */ #define MC(a, b) MC_ ## a, +/** Each mood comparator is identified by an integer of this type. */ enum mood_comparator_id {MOOD_COMPARATORS NUM_MOOD_COMPARATORS}; #undef MC +/** Stringfied mood comparator, example: "<". */ #define MC(a, b) # b, +/** Array of mood comparators represented as C strings ("<", "<=", ...). */ static const char *mood_comparators[] = {MOOD_COMPARATORS}; #undef MC @@ -186,6 +191,22 @@ static int mm_channels_score_function(__a_unused const char *path, return mm_compare_num_score_function(afhi->channels, private); } +static int mm_image_id_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->image_id, private); +} + +static int mm_lyrics_id_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->lyrics_id, 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, @@ -351,5 +372,7 @@ const struct mood_method mood_methods[] = { {DEFINE_COMPARE_NUM_MOOD_METHOD(frequency)}, {DEFINE_COMPARE_NUM_MOOD_METHOD(channels)}, {DEFINE_COMPARE_NUM_MOOD_METHOD(num_played)}, + {DEFINE_COMPARE_NUM_MOOD_METHOD(image_id)}, + {DEFINE_COMPARE_NUM_MOOD_METHOD(lyrics_id)}, {.parser = NULL} };