#include "mm.h"
#include "sideband.h"
#include "mood.h"
+#include "sched.h"
/**
* Contains statistical data of the currently admissible audio files.
static void log_statistics(void)
{
unsigned n = statistics.num;
+ int mean_days, sigma_days;
+ /*
+ * We can not use the "now" pointer from sched.c here because we are
+ * called before schedule(), which initializes "now".
+ */
+ struct timeval rnow;
+ assert(current_mood);
+ PARA_NOTICE_LOG("loaded mood %s\n", current_mood->name?
+ current_mood->name : "(dummy)");
if (!n) {
- PARA_NOTICE_LOG("no admissible files\n");
+ PARA_WARNING_LOG("no admissible files\n");
return;
}
- PARA_INFO_LOG("last_played mean: %lli, last_played sigma: %llu\n",
- (long long int)(statistics.last_played_sum / n),
- (long long unsigned)int_sqrt(statistics.last_played_qd / n));
- PARA_INFO_LOG("num_played mean: %lli, num_played sigma: %llu\n",
- (long long int)statistics.num_played_sum / n,
+ PARA_NOTICE_LOG("%u admissible files\n", statistics.num);
+ clock_get_realtime(&rnow);
+ mean_days = (rnow.tv_sec - statistics.last_played_sum / n) / 3600 / 24;
+ sigma_days = int_sqrt(statistics.last_played_qd / n) / 3600 / 24;
+ PARA_NOTICE_LOG("last_played mean/sigma: %d/%d days\n", mean_days, sigma_days);
+ PARA_NOTICE_LOG("num_played mean/sigma: %llu/%llu\n",
+ (long long unsigned)statistics.num_played_sum / n,
(long long unsigned)int_sqrt(statistics.num_played_qd / n));
}
ret = audio_file_loop(&aa, add_if_admissible);
if (ret < 0)
return ret;
- log_statistics();
- PARA_INFO_LOG("%d admissible files\n", statistics.num);
for (i = 0; i < statistics.num; i++) {
struct admissible_file_info *a = aa.array + i;
ret = add_to_score_table(a->aft_row, a->score);
if (ret < 0)
goto out;
}
- PARA_NOTICE_LOG("loaded mood %s\n", mood_name? mood_name : "(dummy)");
+ log_statistics();
ret = statistics.num;
out:
free(aa.array);